GoLang學習之變量定義和初始化


變量命名原則

go語言的變量名有字母數字和下划線組成,首字母不能為數字,但是字母不僅僅只限於英文字母,所有的UTF-8字符都是可以的。

變量聲明和初始化方式

使用var關鍵字

var a int =  9
var str string ="jisuanji"

注意,Go語言變量類型放在變量名之后!

如果上面的代碼段沒有初始化值,那么變量就會被初始化為對應類型的零值。

var a int

這個代碼片段聲明了一個int類型變量a,並把a初始化為int零值,即0。

忽略類型

這種聲明和初始化變量的方式相比於第一種,就是省去了變量的類型,Go語言編譯器可以根據你的初始值自動判斷出類型。例如:

//這里面的a被自動識別為int類型。
var a = 5

直接初始化

這種方法定義和初始化變量,既不需要var關鍵字,也不需要指定類型,快捷又方便,實際的代碼中建議用這種方式。

a:=3

以上代碼段定義了一個變量a,並把它初始化為3。

多變量聲明

Go語言可以同時聲明和初始化多個變量這個和Python有點像,具體語法如下:

//類型相同多個變量, 非全局變量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3
 //和python很像,不需要顯示聲明類型,自動推斷
var vname1, vname2, vname3 = v1, v2, v3
//出現在:=左側的變量不應該是已經被聲明過的,且只能在函數體內出現
vname1, vname2, vname3 := v1, v2, v3 

代碼示例

package main

import "fmt"

var c,d int = 1,2
var e,f = 123,"hello"

func main(){
	var v21 int32  //被定義初始化為0
	var v22 int = 2
	var v23 = 3 //被自動識別為int類型
	v24 := 4    //簡易聲明&定義的方式
	v21 = int32(v23) //強制轉換

	g, h := 123, "hello"//注意:下行這種不帶聲明格式的只能在函數體中出現
	fmt.Println("v21 is", v21) //v21被賦新值
	fmt.Println("v22 is", v22)
	fmt.Println("v23 is", v23)
	fmt.Println("v24 is", v24)
	fmt.Println(c, d, e, f, g, h)
}

運行結果:

v21 is 3
v22 is 2
v23 is 3
v24 is 4
1 2 123 hello 123 hello


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM