小編給大家分享一下go語言中變量聲明與賦值的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元蓬安做網(wǎng)站,已為上家服務(wù),為蓬安各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
變量
變量是內(nèi)存當(dāng)中一段空間的抽象描述。變量的類型明確了空間的大小以及空間如何解析。
Go中的變量類型
1
| bool byte complex64 complex128 error float32 float64 int int8 int16 int32 int64 rune string uint uint8 uint16 uint32 uint64 uintptr
|
變量的聲明與賦值
方式1
1 2 3 4 5 6 7 8 9
| package main
import "fmt"
func main() { var x string x = "Hello World" fmt.Println(x) }
|
方式2
注意,x := “Hello World” 等價(jià)于 var x = “Hello World”
自動(dòng)推斷類型,并且必須在函數(shù)體內(nèi)部
1 2 3 4 5 6 7 8
| package main
import "fmt"
func main() { x := 1 fmt.Println(x) }
|
多樣的賦值
1 2 3 4 5 6 7 8
| var i int var U, V, W float64 var k = 0 var x, y float32 = -1, -2 var ( i int u, v, s = 2.0, 3.0, "bar" )
|
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| package main
import "fmt"
func main(){
var a,b string= "jonson","jackson"
c,d := true,false
e,f,g := "jonson",true,123 fmt.Println("a:",a) fmt.Println("b:",b)
fmt.Println("c:",c) fmt.Println("d:",d)
fmt.Println("e:",e) fmt.Println("f:",f) fmt.Println("g:",g) }
|
零值問題
變量初始化不賦值的情況,默認(rèn)為空。
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| package main import "fmt" func main() { var a int var b string var c float64 var d bool
fmt.Printf("%v \n", a) fmt.Printf("%v \n", b) fmt.Printf("%v \n", c) fmt.Printf("%v \n", d) fmt.Println() }
|
常量
常量一旦聲明不能改變,并且常量必須賦予初始值。此代碼無效func main() {const x int}
有效:
1 2 3 4 5 6 7 8 9 10 11
| package main
const ( m = 1 n = 2 ) func main(){
const k = 8 }
|
iota 使用
iota從0開始循環(huán)
1 2 3 4 5 6 7 8 9 10 11 12 13
| const ( a = iota b = iota c = iota d = iota ) 等價(jià)于: const ( a = iota b c d )
|
使用案例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| package main
import "fmt"
func main() { const ( a = iota //0 b //1 c //2 d = "ha" //獨(dú)立值,iota += 1 e //"ha" iota += 1 f = 100 //iota +=1 g //100 iota +=1 h = iota //7,恢復(fù)計(jì)數(shù) i //8 ) fmt.Println(a,b,c,d,e,f,g,h,i) }
|
變態(tài)iota
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| package main
import "fmt" const ( i=1< j=3< k l )
func main() { fmt.Println("i=",i) fmt.Println("j=",j) fmt.Println("k=",k) fmt.Println("l=",l) }
|
結(jié)果:
iota表示從0開始自動(dòng)加1,所以 i=1<<0, j=3<<1(<<表示左移的意思),即:i=1,j=6,這沒問題,關(guān)鍵在k和l,從輸出結(jié)果看 k=3<<2,l=3<<3。
簡單表述:
? i=1:左移 0 位,不變?nèi)詾?1;
? j=3:左移 1 位,變?yōu)槎M(jìn)制 110, 即 6;
? k=3:左移 2 位,變?yōu)槎M(jìn)制 1100, 即 12;
? l=3:左移 3 位,變?yōu)槎M(jìn)制 11000,即 24。
以上是“go語言中變量聲明與賦值的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道!
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
文章題目:go語言中變量聲明與賦值的示例分析-創(chuàng)新互聯(lián)
分享鏈接:
http://www.weahome.cn/article/hcsjd.html