Golang入門教程(四)變量聲明


Go 語言變量名由字母、數字、下划線組成,其中首個字母不能為數字。

一、Go的語言結構

1、Go的語言基礎部分由這幾個部分組成

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

比如下面這個簡單的代碼:

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

需要注意的是,如果想把單獨的.go文件作為獨立的可執行文件的時候。需要在代碼的第一行加上

package main

文件的入口方法為:

func main(){
    
}

go的語法和c是很像的,但是又沒有c那么底層。所以有c基礎的人,學習go會特別的快。需要注意的一點是:

go聲明變量的時候是把變量類型放在變量的后面的,如下所示:

var userName string = "Tinywan"

go也可以不指定數據類型,但是必須要賦值。如果不賦值,自動類型檢查就無法起到作用,如下所示:

var userName = "Tinywan"
// 或者
var userName = ""

附一個空格值給變量也是可以的,就是不能不賦值,也不能為null。而且在go中也沒有null的概念,取而代之的是nil:意思為0、無的意思。(Lua也是這樣子的)

還可以使用默認值,如下所示:

var res bool

二、GO語言變量聲明的方式

1、指定變量類型,聲明后如果不做賦值,那么使用默認值

//沒有進行賦值,但是指明了是什么類型、go會自動加上空值。
var a string

2、不指定變量類型,需要進行賦值操作。

//可以不指定變量類型,通過變量值,go會自行判斷該變量的類型。
var a=1

3、不使用var關鍵字,直接:=對變量進行賦值操作。

//這種方式是省略了var,但是這種方式能對新的變量使用,對已經聲明的變量使用會報錯。
a:=1

注意:三種變量的聲明形式的作用都是一樣的,要么賦值可自動判斷其類型,要么不賦值,指定變量類型,就這么兩點。還需要注意的是,go的變量是如果被聲明了,那么必須使用,不然會報錯,如果不想使用可以加上_=varName,表示為已拋棄的變量。

//已聲明,但未使用
var a=1
//標識為已拋棄的變量。
_=a

4、go的變量在已經被聲明后,是不能使用:=再次賦值的。

//這樣是錯誤的
var a=1
a:=2

但是可以使用=為已聲明的變量賦新的值。

//這樣做是可以的。
var a=1
a=2

而且如果變量值沒被使用,那么請加上以拋棄的標識。

_=a

5、go可以直接聲明多個變量,通過函數可以返回多個返回值,比如:

//一次性聲明所有的變量類型為string類型
var name1,name2,name3 string

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

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

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

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

比如像這樣,這樣做會報語法錯誤

var(
    a:=1
)
syntax error: unexpected :=

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM