gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

go語言中變量聲明方法有哪些

變量聲明方法有:1、使用var來聲明一個變量,并指明變量的數據類型,語法“var 變量名 類型 = 表達式”;2、利用“:=”符進行短變量聲明,語法“變量名 := 表達式”。使用短變量聲明時,可以省去var關鍵字以及類型信息,變量的默認類型是bool、rune、int、float64、complex128或string。

go語言中變量聲明方法有哪些

本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

學習靜態語言有別于動態語言的一個重要特征:變量聲明。

編程語言的編譯器或解釋器是如何知道一個變量所能引用的內存區域邊界呢?

動態語言和靜態語言有不同的處理方式:

  • 動態語言(比如 Python、Ruby 等)的解釋器可以在運行時通過對變量賦值的分析,自動確定變量的邊界。并且在動態語言中,一個變量可以在運行時被賦予大小不同的邊界。

  • 而靜態編程語言在這方面的“體驗略差”。靜態類型語言編譯器必須明確知道一個變量的邊界才允許使用這個變量,但靜態語言編譯器又沒能力自動提供這個信息,這個邊界信息必須由這門語言的使用者提供,于是就有了“變量聲明”。通過變量聲明,語言使用者可以顯式告知編譯器一個變量的邊界信息。在具體實現層面呢,這個邊界信息由變量的類型屬性賦予。

作為身處靜態編程語言陣營的 Go 語言,它沿襲了靜態語言的這一要求:使用變量之前需要先進行變量聲明。

[golang] 變量聲明和初始化 var, :=, new() 和 make()

go語言中,提供了多種變量聲明和初始化的方法。這里著重一一說明。并提供一個簡單的指南。

指南

  • 使用make(),來初始化slicemapchannel
  • 大多數場合,類型明確的場合下,使用短變量聲明方式:=
  • 當使用文字方式初始化一個變量,并且需要指明類型時,使用var變量聲明方式。
  • 避免使用new(),除非你需要一個指針變量。

變量聲明方式

go語言可以使用 var 來聲明一個變量,并指明變量的數據類型。

	// 初始化整數變量,值為10。 	var v int = 10 	fmt.Println(v) 	// 輸出: 10  	// 變量聲明: 一個slice變量 	var vSlice []int = []int{1, 2, 3, 4} 	fmt.Println(vSlice, "type: ", reflect.TypeOf(vSlice).Kind()) 	// 輸出: [1 2 3 4] type: slice  	// 短變量聲明: 一個map變量,指向的值為[] 	var vMap map[string]int = map[string]int{ 		"a": 1, 		"b": 2, 	} 	fmt.Println(vMap) 	// 輸出: map[a:1 b:2]
登錄后復制

短變量聲明方式

short variable declarations 符號: :=

短變量聲明時,變量的默認類型是: bool, rune, int, float64, complex128 or string

	// 短變量聲明: 一個整數變量。 	sdvInt := 10 	fmt.Println(sdvInt, "type: ", reflect.TypeOf(sdvInt).Kind()) 	// 輸出: 10 type:  int  	// 短變量聲明: 一個slice變量 	sdvSlice := []int{1, 2, 3, 4} 	fmt.Println(sdvSlice, "type: ", reflect.TypeOf(sdvSlice).Kind()) 	// 輸出: [1 2 3 4] type: slice  	// 短變量聲明: 一個map變量,指向的值為[] 	sdvMap := map[string]int{ 		"a": 1, 		"b": 2, 	} 	fmt.Println(sdvMap) 	// 輸出: map[a:1 b:2]
登錄后復制

new(T)

new(T)的特點:

  • 根據類型T分配內存
  • 設置內存為0
  • 返回內存的指針

	// 初始化一個整數指針變量,指向的值為0 	var i3 *int = new(int) 	fmt.Println(*i3)  	// 初始化一個slice指針變量 	var i4 = new([10]int)[0:5] 	fmt.Println(i4, "type: ", reflect.TypeOf(i4).Kind()) 	// 輸出: [0 0 0 0 0] type: slice  	// 初始化一個map指針變量,指向的值為[] 	var i5 *map[string]int = new(map[string]int) 	fmt.Println(*i5) 	// 輸出: map[]  	// 初始化一個chan指針變量,指向的值為nil 	var i6 *chan int = new(chan int) 	fmt.Println(*i6) 	// 輸出: nil
登錄后復制

make()

make只用于初始化 slicemapchannel

	// make只能用于創建slice, map, channel 	// 切片類型(slice) 	makeSlice := make([]int, 5, 10) 	fmt.Println(makeSlice) 	// 輸出: [0 0 0 0 0]  	// Map 類型 	var makeMap map[string]int = make(map[string]int) 	fmt.Println(makeMap) 	// 輸出: map[]  	// Channel 類型 	var makeChan chan int32 = make(chan int32, 100) 	fmt.Println(makeChan) 	// 輸出: 0xc000112000
登錄后復制

完整源碼

package main  import ( 	"fmt" 	"reflect" )  func main() {  	// 初始化整數變量,值為10。 	var v int = 10 	fmt.Println(v) 	// 輸出: 10  	// 變量聲明: 一個slice變量 	var vSlice []int = []int{1, 2, 3, 4} 	fmt.Println(vSlice, "type: ", reflect.TypeOf(vSlice).Kind()) 	// 輸出: [1 2 3 4] type: slice  	// 短變量聲明: 一個map變量,指向的值為[] 	var vMap map[string]int = map[string]int{ 		"a": 1, 		"b": 2, 	} 	fmt.Println(vMap) 	// 輸出: map[a:1 b:2]  	// 短變量聲明: 一個整數變量。 	sdvInt := 10 	fmt.Println(sdvInt, "type: ", reflect.TypeOf(sdvInt).Kind()) 	// 輸出: 10 type:  int  	// 短變量聲明: 一個slice變量 	sdvSlice := []int{1, 2, 3, 4} 	fmt.Println(sdvSlice, "type: ", reflect.TypeOf(sdvSlice).Kind()) 	// 輸出: [1 2 3 4] type: slice  	// 短變量聲明: 一個map變量,指向的值為[] 	sdvMap := map[string]int{ 		"a": 1, 		"b": 2, 	} 	fmt.Println(sdvMap) 	// 輸出: map[a:1 b:2]  	// 初始化一個整數指針變量,指向的值為0 	var newInt *int = new(int) 	fmt.Println(*newInt)  	// 初始化一個slice指針變量 	var newSlice = new([10]int)[0:5] 	fmt.Println(newSlice, "type: ", reflect.TypeOf(newSlice).Kind()) 	// 輸出: [0 0 0 0 0] type: slice  	// 初始化一個map指針變量,指向的值為[] 	var newMap *map[string]int = new(map[string]int) 	fmt.Println(*newMap) 	// 輸出: map[]  	// 初始化一個chan指針變量,指向的值為nil 	var newChan *chan int = new(chan int) 	fmt.Println(*newChan) 	// 輸出: nil  	// make只能用于創建slice, map, channel 	// 切片類型(slice) 	makeSlice := make([]int, 5, 10) 	fmt.Println(makeSlice) 	// 輸出: [0 0 0 0 0]  	// Map 類型 	var makeMap map[string]int = make(map[string]int) 	fmt.Println(makeMap) 	// 輸出: map[]  	// Channel 類型 	var makeChan chan int32 = make(chan int32, 100) 	fmt.Println(makeChan) 	// 輸出: 0xc000112000  }
登錄后復制

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
每日在线观看av| 欧美黑人在线观看| 午夜肉伦伦影院| 高清无码一区二区在线观看吞精| 91看片在线免费观看| 久久99999| 三级在线免费看| 久久久久久久久久福利| caopor在线视频| 国产熟人av一二三区| 亚洲欧美另类动漫| 永久免费的av网站| xxww在线观看| 黄色一级视频播放| www.国产二区| 日韩精品一区二区三区久久| 99热成人精品热久久66| 天天爽人人爽夜夜爽| 欧美视频亚洲图片| 日本一道在线观看| 69堂免费视频| www.cao超碰| 日韩中文字幕在线不卡| 拔插拔插海外华人免费| 国产精品天天av精麻传媒| 91欧美视频在线| 日韩欧美一级在线| 欧美精品成人网| 黄色高清视频网站| 亚洲国产精品久久久久爰色欲| 亚洲精品怡红院| 欧美日韩午夜爽爽| 成年人免费在线播放| 欧美日韩精品区别| 日韩少妇内射免费播放18禁裸乳| wwwwwxxxx日本| av免费观看大全| 亚洲一级片av| 激情综合网婷婷| 久久久天堂国产精品| 538在线视频观看| 国产精品无码电影在线观看| 亚洲欧美国产日韩综合| 免费国产a级片| 免费在线精品视频| 日韩一区二区三区久久| 波多野结衣之无限发射| 艳母动漫在线观看| 天天爽天天爽夜夜爽| 日本阿v视频在线观看| 亚洲色图偷拍视频| 人妻内射一区二区在线视频 | xxxx18hd亚洲hd捆绑| 婷婷激情5月天| 人妻少妇被粗大爽9797pw| 99热都是精品| 亚洲一区二区福利视频| 一本久道中文无码字幕av| 成人短视频在线观看免费| 激情文学亚洲色图| 成人日韩在线视频| 天天干天天综合| 欧美日韩怡红院| 日本成人在线免费视频| 国产又黄又大又粗视频| 国产免费黄视频| 欧美精品一区免费| 波多野结衣家庭教师在线| 欧美日韩不卡在线视频| 男女激情免费视频| 国产精品久久中文字幕| 欧美一级视频免费看| www.射射射| 欧美成人一区二区在线观看| 欧美黄色免费影院| 国产精品秘入口18禁麻豆免会员| 日本国产在线播放| 日本久久久精品视频| 精品视频一区二区在线| 免费看污污网站| 亚洲精品20p| 四虎免费在线观看视频| 九九久久九九久久| a级黄色小视频| 免费在线激情视频| 99国产精品久久久久久| 久久天天东北熟女毛茸茸| 台湾无码一区二区| 久草资源站在线观看| 亚洲污视频在线观看| 国产xxxxhd| 欧美成人高潮一二区在线看| 能看的毛片网站| 精产国品一二三区| 乱妇乱女熟妇熟女网站| 超碰超碰在线观看| 精品一区二区成人免费视频| 2018中文字幕第一页| 我看黄色一级片| 午夜探花在线观看| 欧美少妇性生活视频| 国产精品自在自线| 国内自拍在线观看| 日日干日日操日日射| 蜜臀av色欲a片无码精品一区 | 亚洲 激情 在线| 日本免费a视频| wwwwwxxxx日本| 欧美视频在线播放一区| 欧美日韩中文不卡| 少妇性饥渴无码a区免费| 男生操女生视频在线观看| 成人在线国产视频| 久久久成人精品一区二区三区| 日本免费黄视频| 日韩一级片免费视频| 欧美一级特黄aaa| 91av在线免费播放| heyzo国产| 热99这里只有精品| 特级黄色录像片| 久久6免费视频| 国产又猛又黄的视频| www.玖玖玖| 日本中文字幕亚洲| 久久国产精品网| 青青视频免费在线观看| 国产精品无码乱伦| 日韩精品aaa| 一二三级黄色片| 加勒比av中文字幕| 麻豆三级在线观看| 色乱码一区二区三区在线| 能在线观看的av网站| 成年人免费在线播放| 国产成人久久婷婷精品流白浆| 日韩激情视频一区二区| 香港三级日本三级a视频| 成人区一区二区| 拔插拔插海外华人免费| 国产中文字幕在线免费观看| 免费一级特黄特色毛片久久看| 男人天堂av片| 色综合久久久久无码专区| 茄子视频成人免费观看| 最近中文字幕一区二区| 四虎成人在线播放| 欧美做受777cos| 男人添女荫道口女人有什么感觉| 老子影院午夜伦不卡大全| 极品美女扒开粉嫩小泬| 69久久久久久| 污污污污污污www网站免费| 日韩欧美一区二| 亚洲综合婷婷久久| 无码熟妇人妻av在线电影| 人妻熟女一二三区夜夜爱| 中文字幕第38页| 和岳每晚弄的高潮嗷嗷叫视频| 欧美a在线视频| 男女h黄动漫啪啪无遮挡软件| 成人精品视频在线播放| 色播五月综合网| 国产 日韩 亚洲 欧美| 少妇一级淫免费播放| 男人天堂手机在线视频| 亚洲娇小娇小娇小| 男人天堂av片| 熟妇人妻无乱码中文字幕真矢织江| av日韩在线看| 天天爽夜夜爽一区二区三区| 久久综合在线观看| avav在线看| √天堂资源在线| 日本a在线免费观看| 少妇高清精品毛片在线视频| 人人爽人人爽av| 熟女少妇在线视频播放| 久久久久久蜜桃一区二区| 日韩人妻精品无码一区二区三区| 亚洲第一中文av| 国产美女主播在线播放| 青青在线视频免费| 超碰在线免费观看97| 免费av网址在线| 精品一区二区三区毛片| 加勒比av中文字幕| 日韩网址在线观看| 成人毛片100部免费看| 日本三级黄色网址| 国产无套内射久久久国产| 久久久一二三四| 可以免费观看av毛片| 91国在线高清视频| 91日韩精品视频| 久久国产亚洲精品无码| 欧美日本视频在线观看| 加勒比海盗1在线观看免费国语版| 九色在线视频观看| 日韩精品一区中文字幕|