GO相關 變數

2021-09-29 14:12:34 字數 1589 閱讀 4561

宣告變數:

宣告變數的一般形式是使用 var 關鍵字:

var name type

go語言的基本型別(type)有:

bool

string

int、int8、int16、int32、int64

uint、uint8、uint16、uint32、uint64、uintptr

byte // uint8 的別名

rune // int32 的別名 代表乙個 unicode 碼

float32、float64

complex64、complex128

變數宣告的標準格式:

var 變數名 變數型別

變數宣告的批量格式:

var (

name1 type1

name2

)變數宣告可使用更加簡短的變數定義和初始化語法。

名字 := 表示式

變數初始化:

變數初始化的標準格式

var 變數名 型別 = 表示式

編譯器推導型別的格式

var 變數名 = 表示式

匿名變數的特點是乙個下畫線「」,「」本身就是乙個特殊的識別符號,被稱為空白識別符號。它可以像其他識別符號那樣用於變數的宣告或賦值(任何型別都可以賦值給它),但任何賦給這個識別符號的值都將被拋棄,因此這些值不能在後續的**中使用,也不可以使用這個識別符號作為變數對其它變數進行賦值或運算。使用匿名變數時,只需要在變數宣告的地方使用下畫線替換即可

在必要以及可行的情況下,乙個型別的值可以被轉換成另一種型別的值。由於go語言不存在隱式型別轉換,因此所有的型別轉換都必須顯式的宣告:

valueoftypeb = typeb(valueoftypea)

型別 b 的值 = 型別 b(型別 a 的值)

每個變數在執行時都擁有乙個位址,這個位址代表變數在記憶體中的位置。go語言中使用在變數名前面新增&操作符(字首)來獲取變數的記憶體位址(取位址操作),格式如下:

ptr := &v // v 的型別為 t

其中 v 代表被取位址的變數,變數 v 的位址使用變數 ptr 進行接收,ptr 的型別為t,稱做 t 的指標型別,代表指標。

go語言還提供了另外一種方法來建立指標變數,格式如下:

new(型別)

new() 函式可以建立乙個對應型別的指標,建立過程會分配記憶體,被建立的指標指向預設值。

常量的定義格式和變數的宣告語法類似:const name [type] = value

在go語言中,你可以省略型別說明符 [type],因為編譯器可以根據變數的值來推斷其型別。

顯式型別定義: const b string = "abc"

隱式型別定義: const b = "abc"

iota 常量生成器

常量宣告可以使用 iota 常量生成器初始化,它用於生成一組以相似規則初始化的常量,但是不用每行都寫一遍初始化表示式。在乙個 const 宣告語句中,在第乙個宣告的常量所在的行,iota 將會被置為 0,然後在每乙個有常量宣告的行加一。

Go 環境變數相關操作

go語言中os包提供了一些環境變數的操作封裝。包括 設定環境變數 setenv 獲取環境變數 getenv 刪除指定的環境變數 unsetenv 獲取所有環境變數 environ 清除所有環境變數 clearenv 請看示例 package main import os import fmt fun...

Go 指標相關

go語言中的指標非常簡單,沒有偏移和運算,只需要記住兩個符號。取變數位址與 根據位址取值。以下是乙個簡單的示例 package main import fmt func main var addarr arr fmt.printf p n addarr 列印位址 0xc000062330 fmt.p...

Go 語言變數

go 語言變數名由字母 數字 下劃線組成,其中首個字元不能為數字。宣告變數的一般形式是使用 var 關鍵字 var identifier type變數宣告 第二種,根據值自行判定變數型別。第三種,省略 var,注意 左側需要宣告新的變數,否則就會產生編譯錯誤 package main import ...