久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久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號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日本不良网站在线观看| 国产精品日韩精品中文字幕| 国产日产精品_国产精品毛片| 亚洲精品极品| 久久一级电影| 亚洲欧美综合| 久久69成人| 欧美精品三级在线| 国产精品中文字幕制服诱惑| 免费久久精品视频| 国产精品91一区二区三区| 欧美羞羞视频| 久久精品国产999大香线蕉| 中文字幕成人| 亚洲手机在线| 日本蜜桃在线观看视频| 精品欧美日韩精品| 日精品一区二区三区| 亚洲午夜国产成人| 综合亚洲视频| 色综合视频一区二区三区日韩| 亚洲精品欧美| 国产精品久久免费视频| 日韩福利视频导航| 国产劲爆久久| 久久精品国产999大香线蕉| 国产精品一区二区三区美女| 免费日韩一区二区三区| 香蕉久久精品| 精精国产xxxx视频在线野外| 午夜精品一区二区三区国产| 啪啪亚洲精品| 国产一区二区三区四区五区| 欧美羞羞视频| 国产亚洲精品美女久久| a天堂资源在线| 国产亚洲精品久久久久婷婷瑜伽| 久久av导航| 国产99在线| 日本综合精品一区| 日韩精品第一区| 久久久精品日韩| 日韩一区二区三区精品| 成人午夜网址| 国产精品久久久久久久久久齐齐| 都市激情国产精品| 在线精品一区| 国产日韩1区| 亚洲久久视频| 精品一区在线| 日韩av中文字幕一区| 9国产精品视频| www在线观看黄色| 日本成人在线视频网站| 欧美日韩国产在线一区| a国产在线视频| 美女精品久久| 日韩精品亚洲专区| 三级欧美在线一区| 都市激情国产精品| 国产精品1区| 亚洲精品高潮| 亚洲午夜久久| 欧美另类专区| 欧产日产国产精品视频| 国产videos久久| 日本一区中文字幕| 亚洲精品国产偷自在线观看| 91精品精品| av中文资源在线资源免费观看| 日韩av一级片| 国产日韩欧美三级| 婷婷综合一区| 综合五月婷婷| 国产尤物精品| 福利一区二区免费视频| 久久精品一区二区国产| 91福利精品在线观看| 国内激情久久| 日韩网站在线| 日韩和欧美一区二区三区| 午夜久久99| 最近国产精品视频| 久久精品99国产精品日本| 国产欧美一区二区三区米奇| 国产欧美日韩一区二区三区四区 | 自拍日韩欧美| 日韩av影院| 国产黄色一区| 久久一区二区三区电影| 亚洲精品伦理| 久久精品999| 丝袜美腿诱惑一区二区三区| 亚洲免费影院| 国产日韩视频| sm久久捆绑调教精品一区| 极品裸体白嫩激情啪啪国产精品| 国产精品美女久久久| 亚洲精品亚洲人成在线观看| 亚洲精品美女91| 国产高清日韩| 欧美三级精品| 日韩欧美中文字幕一区二区三区 | 亚州av日韩av| 9999国产精品| 88久久精品| 激情综合亚洲| 精品视频自拍| 深夜福利亚洲| 国产夫妻在线| 久久国产欧美日韩精品| 亚洲天堂久久| 亚洲精品九九| 国产精品免费大片| 日韩影院免费视频| 久久高清免费观看| а√在线中文在线新版| 婷婷精品在线观看| 免费观看久久av| 日韩国产一区二| 亚洲免费观看| 亚洲韩日在线| 中文字幕在线免费观看视频| 国产精品毛片aⅴ一区二区三区| 黄色免费成人| 女人天堂亚洲aⅴ在线观看| 精品久久久中文字幕| 色综合视频一区二区三区日韩 | 精品久久99| 亚洲男人在线| 综合一区在线| 日本不卡不码高清免费观看| 99成人在线视频| 日韩免费久久| 韩国久久久久久| 卡一精品卡二卡三网站乱码| 在线看片日韩| 日本在线一区二区三区| 日韩有码av| 妖精视频成人观看www| 欧美不卡高清一区二区三区| av日韩中文| 99香蕉国产精品偷在线观看 | 一本综合精品| 久久国产麻豆精品| 欧美视频精品全部免费观看| 国产日韩免费| 在线手机中文字幕| 日韩在线看片| 久久天堂精品| 99国产精品私拍| 青青草伊人久久| 国产乱码精品| 日韩天堂在线| 亚洲欧美网站在线观看| 国产精品亚洲产品| 国产精品探花在线观看| 国产 日韩 欧美 综合 一区 | 日韩在线观看不卡| 免费精品视频在线| 精品三级在线观看视频| 精品99久久| 欧美+日本+国产+在线a∨观看| 日韩欧美美女在线观看| 日韩av首页| 视频一区在线视频| 日韩精品电影| 国产精品亲子伦av一区二区三区| 99久久亚洲精品蜜臀| 日韩精品欧美大片| 在线视频观看日韩| 国产精品亚洲片在线播放| 国产一区二区亚洲| 亚洲精品成人一区| 国产99精品一区| 精品成av人一区二区三区| 蜜臀精品久久久久久蜜臀| 国产+成+人+亚洲欧洲在线| 亚洲综合福利| 精品1区2区3区4区| 韩国精品主播一区二区在线观看 | 欧美日韩国产一区二区在线观看| 久久99蜜桃| 亚洲精品在线二区| 在线 亚洲欧美在线综合一区| 粉嫩av一区二区三区四区五区 | 欧美激情 亚洲a∨综合| 亚洲有吗中文字幕| 亚洲国产一区二区三区在线播放| 美女av一区| 久久a爱视频| 国产精品一页| 国产日韩一区二区三区在线播放| 免费人成网站在线观看欧美高清| 日韩久久电影| 日韩精品免费一区二区在线观看| 久久精品 人人爱| 噜噜噜躁狠狠躁狠狠精品视频 | 视频一区中文字幕| 亚洲v在线看|