golang基本語法 變數的使用

2021-09-19 11:21:24 字數 1903 閱讀 5194

變數是為儲存特定型別的值而提供給記憶體位置的名稱。在go中宣告變數有多種語法。

所以變數的本質就是一小塊記憶體,用於儲存資料,在程式執行過程中數值可以改變

var名稱型別是宣告單個變數的語法。

以字母或下劃線開頭,由乙個或多個字母、數字、下劃線組成

宣告乙個變數

第一種,指定變數型別,宣告後若不賦值,使用預設值

var name type

name = value

第二種,根據值自行判定變數型別(型別推斷type inference)

如果乙個變數有乙個初始值,go將自動能夠使用初始值來推斷該變數的型別。因此,如果變數具有初始值,則可以省略變數宣告中的型別。

var name = value
第三種,省略var, 注意 :=左側的變數不應該是已經宣告過的(多個變數同時宣告時,至少保證乙個是新變數),否則會導致編譯錯誤(簡短宣告)

name := value

// 例如

var a int=10

var b =

10c :

=10

這種方式它只能被用在函式體內,而不可以用於全域性變數的宣告與賦值

示例**:

package main

var a =

"hello"

var b string

="world"

var c bool

func

main()

執行結果:

hello world false
多變數宣告

第一種,以逗號分隔,宣告與賦值分開,若不賦值,存在預設值

var name1, name2, name3 type

name1, name2, name3 = v1, v2, v3

第二種,直接賦值,下面的變數型別可以是不同的型別

var name1, name2, name3 = v1, v2, v3
第三種,集合型別

var

( name1 type1

name2 type2

)

如果在相同的**塊中,我們不可以再次對於相同名稱的變數使用初始化宣告,例如:a := 20 就是不被允許的,編譯器會提示錯誤 no new variables on left side of :=,但是 a = 20 是可以的,因為這是給相同的變數賦予乙個新的值。

如果你在定義變數 a 之前使用它,則會得到編譯錯誤 undefined: a。如果你宣告了乙個區域性變數卻沒有在相同的**塊中使用它,同樣會得到編譯錯誤,例如下面這個例子當中的變數 a:

func

main()

嘗試編譯這段**將得到錯誤 a declared and not used

此外,單純地給 a 賦值也是不夠的,這個值必須被使用,所以使用

在同乙個作用域中,已存在同名的變數,則之後的宣告初始化,則退化為賦值操作。但這個前提是,最少要有乙個新的變數被定義,且在同一作用域,例如,下面的y就是新定義的變數

package main

import

("fmt"

)func

main()

執行結果:

0xc04200a2b0

0xc04200a2b0

200abc

千鋒go語言的學習群:784190273

go基本語法 golang基本語法

匯入包 import fmt import fmt os 函式外申明變數 var a int 函式內申明變數 a slice申明 slice本質是指向陣列的指標 var s int var s int make int,3 s make int,3 基於陣列建立slice a 3 int s a 3...

GO 基本語法 變數

變數是為儲存特定型別的值而提供給記憶體位置的名稱。在go中宣告變數有多種語法。所以變數的本質就是一小塊記憶體,用於儲存資料,在程式執行過程中數值可以改變 var名稱型別是宣告單個變數的語法。以字母或下劃線開頭,由乙個或多個字母 數字 下劃線組成 宣告乙個變數 第一種,指定變數型別,宣告後若不賦值,使...

Golang基礎語法 變數 二 十安辰

1 當左右兩邊都是數值型時,為加法運算 2 當左右兩邊都是字串運算的時候,做字串拼接 例子 package main import fmt 號的運用 func main 用於存放整數值的 加粗的為重點常用,初學記住這些就行了 型別描述 uint 32位或64位 uint8 無符號 8 位整型 0 到...