一、Go的變量聲明

Go的語言結構

一、Go的語言基礎部分由這幾個部分組成函數

  • 包聲明
  • 引入包
  • 函數
  • 變量
  • 語句&表達式
  • 註釋

好比下面這個簡單的代碼:學習

func main() {
    fmt.Println("第一個程序")
}

須要注意的是,若是想把單獨的.go文件做爲獨立的可執行文件的時候。須要在代碼的第一行加上code

package main

文件的入口方法爲:get

func main(){
    
}

go的語法和c是很像的,可是又沒有c那麼底層。因此有c基礎的人,學習go會特別的快。須要注意的一點是:string

go聲明變量的時候是把變量類型放在變量的後面的,就像這樣:
var a string = "abc"

go也能夠不指定數據類型,可是必需要賦值。若是不賦值,自動類型檢查就沒法起到做用基礎

哪怕你直接這樣:變量

var a=""

附一個空格值給變量也是能夠的,就是不能不賦值,也不能爲null。並且在go中也沒有null的概念,取而代之的是nil:意思爲0、無的意思。數據類型

還可使用默認值,就像這樣:語法

var a bool

輸出爲:false程序

GO語言變量聲明的方式

  • 指定變量類型,聲明後若是不作賦值,那麼使用默認值。
//沒有進行賦值,可是指明瞭是什麼類型、go會自動加上空值。
var a string
  • 不指定變量類型,須要進行賦值操做。
//能夠不指定變量類型,經過變量值,go會自行判斷該變量的類型。
var a=1
  • 不使用var關鍵字,直接:=對變量進行賦值操做。
//這種方式是省略了var,可是這種方式能對新的變量使用,對已經聲明的變量使用會報錯。
a:=1

注:

三種變量的聲明形式的做用都是同樣的,要麼賦值可自動判斷其類型,要麼不賦值,指定變量類型,就這麼兩點。還須要注意的是,go的變量是若是被聲明瞭,那麼必須使用,否則會報錯,若是不想使用能夠加上_=varName,表示爲已拋棄的變量。
//已聲明,但未使用
var a=1
//標識爲已拋棄的變量。
_=a

還須要重點強調的點:

  • go的變量在已經被聲明後,是不能使用:=再次賦值的。
//這樣是錯誤的
var a=1
a:=2

可是可使用=爲已聲明的變量賦新的值。

//這樣作是能夠的。
var a=1
a=2

並且若是變量值沒被使用,那麼請加上以拋棄的標識。

_=a

go能夠直接聲明多個變量,經過函數能夠返回多個返回值,好比:

//一次性聲明全部的變量類型爲string類型
var name1,var name2,var name3 string

//函數返回多個返回值
func getName(name1,name2,name3,name4){
    return "aa","bb","cc","dd"
}

//返回多個返回的值的函數須要用多個變量進行接受
var a, b, c, d = getName()

go可以使用var關鍵字聲明全局變量,可是:=這種方式是不能用在全局變量中的。:=只能用在函數體內部。

var (
    a int
    b bool
    xx,yy,dd string="xx","yy","dd"
    //這裏省略變量類型也是能夠的。
    zz,aa="zz","aa"
)

好比像這樣,這樣作會報語法錯誤

var(
    a:=1
)
syntax error: unexpected :=
相關文章
相關標籤/搜索