久久精品五月,日韩不卡视频在线观看,国产精品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综合
亚洲专区一区| 蜜臀国产一区| 奶水喷射视频一区| 国产精品毛片一区二区三区| 麻豆成人在线| 日本视频中文字幕一区二区三区| 日本少妇精品亚洲第一区| 国产精品美女午夜爽爽| 国模大尺度视频一区二区| 伊伊综合在线| 在线国产一区| 亚洲欧洲国产精品一区| 国产探花在线精品一区二区| 久久只有精品| 高潮久久久久久久久久久久久久| 亚洲小说欧美另类婷婷| 国产精品人人爽人人做我的可爱| 日韩精品一级二级 | 久久九九精品| 亚洲精华国产欧美| 97久久精品| 精品国产乱码久久久久久樱花| 亚洲一区资源| 久久福利毛片| 奇米狠狠一区二区三区| 欧美xxxx中国| 欧美成人精品| 欧美一区激情| 色天使综合视频| 亚洲乱码视频| 亚洲性色av| 婷婷综合福利| 日韩大片在线观看| 日韩三级一区| 久久久久久久久久久9不雅视频| 亚洲毛片在线| 欧美不卡高清一区二区三区| 日韩三级精品| 久久精选视频| 国产精品免费精品自在线观看| 欧美午夜精彩| 久久男人av| 亚洲视频电影在线| 婷婷综合六月| 国产精久久久| 综合一区在线| 国产高清一区二区| 国产成人精选| 国产午夜精品一区在线观看| 亚洲激情社区| 精品日韩视频| 精品香蕉视频| 欧美日韩1区| 在线综合视频| 日本精品在线中文字幕| 日韩激情精品| 999在线观看精品免费不卡网站| 成人污污视频| 国产精品亚洲成在人线| 视频一区二区三区入口| 91精品蜜臀一区二区三区在线| 国产激情精品一区二区三区| 综合日韩在线| 国产亚洲福利| 91精品国产调教在线观看| 久久精品毛片| 国产日韩欧美中文在线| 手机精品视频在线观看| 欧美日韩在线网站| 欧美日韩视频免费观看| 国产精品亚洲欧美| 日本亚州欧洲精品不卡| 久久国产精品久久w女人spa| 亚洲91视频| 亲子伦视频一区二区三区| 精品一区二区三区视频在线播放| 日本午夜精品久久久久| 中文字幕一区二区精品区| 亚洲一级高清| 国产99久久| 久久久国产亚洲精品| 国产精品伦理久久久久久| 久久av国产紧身裤| 国产精品美女久久久久久不卡| **爰片久久毛片| 日韩高清欧美激情| 亚州精品视频| 日本不卡视频在线| 日本视频一区二区| 欧美日韩亚洲一区在线观看| 日本不卡高清| 国产调教精品| 国产精品久久| 久久免费影院| 亚洲三级欧美| 99精品一区| 欧美不卡高清| 在线综合欧美| 综合五月婷婷| 久久精品超碰| 国产精品欧美大片| 美女国产一区二区三区| 国产一区调教| 999国产精品视频| 欧美在线亚洲| 日韩精品一二区| 18国产精品| 精品久久免费| 日本高清不卡一区二区三区视频| 精品捆绑调教一区二区三区| 久久精品av| 久久亚洲美女| 国产欧美69| 成人午夜亚洲| 1024精品一区二区三区| 亚洲精品888| 综合激情婷婷| 国产精品超碰| 成人免费电影网址| 亚洲欧美久久久| 欧美日韩精品一区二区三区视频| 国产精选久久| 日韩精品欧美| 中文不卡在线| 欧美黄色精品| 久久国产日本精品| 蜜桃视频第一区免费观看| 国产日韩欧美高清免费| 精品久久久网| 亚洲国产日韩欧美在线| 亚洲免费观看高清完整版在线观| 国产精品亚洲综合在线观看| 四虎影视精品| 偷拍亚洲精品| 日韩中文首页| 一区二区电影| 精品视频黄色| 国产偷自视频区视频一区二区| 欧美日韩伊人| 国产高清一区二区| 欧美xxxx性| 中日韩男男gay无套| 国产探花在线精品| 在线一区视频观看| 国产日韩欧美中文在线| 日韩一区二区中文| 日韩精品视频网站| 欧美精品资源| 国产欧美亚洲一区| 久久人人99| 国产精品日韩精品在线播放| 999精品在线| 麻豆极品一区二区三区| 国产一级久久| 国产不卡人人| 日韩精品视频在线看| 伊人久久大香线蕉av不卡| 国产精品一区二区av交换 | 国产麻豆一区| 婷婷亚洲综合| 国产精品高清一区二区| 国产一区导航| 9999国产精品| 日本欧美一区二区| 亚洲黑丝一区二区| 国产一区不卡| 日精品一区二区三区| 亚洲午夜久久久久久尤物| 麻豆精品少妇| 日本午夜精品久久久| 国产精品美女| 色婷婷精品视频| 国产精品视频一区二区三区综合| 亚洲综合丁香| 激情欧美国产欧美| 国产一区二区三区亚洲综合| 人人爱人人干婷婷丁香亚洲| 亚洲欧美视频一区二区三区| 日韩免费av| 精品国产乱码久久久久久樱花 | 美女黄网久久| 婷婷成人综合| 色爱av综合网| 福利精品一区| 免费在线欧美黄色| 久久激五月天综合精品| aa亚洲婷婷| 亚洲欧美伊人| 日韩欧美精品一区| 国产成人精品亚洲线观看| 日欧美一区二区| 一区二区三区午夜视频| 香蕉久久夜色精品国产| 亚州av乱码久久精品蜜桃| 亚洲精品国产嫩草在线观看 | 在线亚洲成人| 久久高清免费| 日韩一区亚洲二区| 水蜜桃精品av一区二区| 麻豆精品视频在线|