Go語言變數宣告

2021-09-29 11:48:24 字數 2076 閱讀 4656

匿名變數

複數型別

bool型別

字元型別

資料型別轉換

指標型別

常量iota常量生成器

字串與數值型別的轉換

var name type(type是型別)

bool

string

int、int8、int16、int32、int64

uint、uint8、uint16、uint32、uint64、uintptr

byte // uint8 的別名

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

float32、float64

complex64、complex128

當乙個變數被宣告之後,系統自動賦予它該型別的零值:int 為 0,float 為 0.0,bool 為 false,string 為空字串,指標為 nil 等

變數的命名規則遵循駱駝命名法,即首個單詞小寫,每個新單詞的首字母大寫,例如:numships 和 startdate 。

名字 := 表示式 (前提是這個名字之前沒有被宣告過,要不然會報錯

var hp = 100(可以省去int,直接賦值

hp := 100(hp在次之前不能被宣告過

在編碼過程中,可能會遇到沒有名稱的變數型別或方法。雖然這不是必須的,但有時候這樣做可以極大地增強**的靈活性,這些變數被統稱為匿名變數。

匿名變數不占用記憶體空間,不會分配記憶體。匿名變數與匿名變數之間也不會因為多次宣告而無法使用。

go語言擁有兩種複數型別,分別是 complex64(32 位實數和虛數)型別和 complex128(64 位實數和虛數)型別。

布林值可以和 &&(and)和 ||(or)操作符結合

&& 的優先順序比||高(&& 對應邏輯乘法,|| 對應邏輯加法,乘法比加法優先順序要高)

byte型別是uint8的別名

unicode(utf-8),在書寫 unicode 字元時,需要在 16 進製數之前加上字首\u或者\u。因為 unicode 至少占用 2 個位元組,所以我們使用 int16 或者 int 型別來表示。如果需要使用到 4 位元組,則使用\u字首,如果需要使用到 8 個位元組,則使用\u字首。

unicode 與 ascii 類似,都是一種字符集。

不存在隱式型別轉換,因此所有的型別轉換都必須顯式的宣告

從乙個取值範圍小的轉換到取值範圍大的,要不然會導致精度丟失

valueoftypeb = typeb(valueoftypea)

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

乙個指標變數可以指向任何乙個值的記憶體位址,它所指向的值的記憶體位址在 32 和 64 位機器上分別占用 4 或 8 個位元組,占用位元組的大小與所指向的值的大小無關。當乙個指標被定義後沒有分配到任何變數時,它的預設值為 nil。指標變數通常縮寫為 ptr。

關鍵字const定義,用於儲存不會改變的資料,常量是在編譯時被建立的,即使定義在函式內部也是如此,並且只能是布林型、數字型(整數型、浮點型和複數)和字串型。由於編譯時的限制,定義常量的表示式必須為能被編譯器求值的常量表示式。

常量的值必須是能夠在編譯時就能夠確定的,可以在其賦值表示式中涉及計算過程,但是所有用於計算的值必須在編譯期間就能獲得

iota 將會被置為 0

舉例:type weekday int

const (

sunday weekday = iota

monday

tuesday

wednesday

thursday

friday

saturday

)週日將對應 0,周一為 1,以此類推。

詳細舉例參照:

Go語言示例 3變數宣告

variables.go源 定義字串型別自變數。package main import fmt func main 解釋執行。go run variables.go initial variables.go源 定義整數型自變數。package main import fmt func main 解釋...

go語言變數的宣告與賦值

var 變數名 變數型別var a int b string c float32 d func bool e struct var a int var b string var c float32 var d func bool var e struct整型和浮點型變數的預設值為 0。字串變數的預設...

宣告變數 Go 語言設計哲學之七 變數宣告須一致

go 語言,使用變數之前需要先進行變數的宣告。var s string golang n 666go 語言有兩類變數 包級別 package varible 在 package 級別可見的變數。如果是匯出變數,該變數也可以被視為全域性變數 區域性變數 local varible 函式或方法體內宣告的...