Go語言變數

2022-03-10 21:52:43 字數 1836 閱讀 1643

變數**於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。

go語言是靜態型別語言,不能在執行期間改變變數型別。使用關鍵字 var 定義變數,自動初始化為零值。如果提供初始化值,可省略變數型別,由編譯器自動推斷。

go語言中變數可以在三個地方宣告:

函式外定義的變數稱為全域性變數

函式內定義的變數稱為區域性變數

函式定義中的變數稱為形式引數

接下來讓我們具體了解全域性變數、區域性變數和形式引數。

全域性變數

在函式體外宣告的變數稱之為全域性變數,全域性變數可以在整個包甚至外部包(被匯出後)使用。

區域性變數

在函式體內宣告的變數稱之為區域性變數,它們的作用域只在函式體內,引數和返回值變數也是區域性變數。

形式引數

形式引數會作為函式的區域性變數來使用。

變數宣告

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

var name string

第二種,根據值自行判定變數型別。

var age = 18

第三種,變數宣告並賦值

var

class

string = "

linux

"

第四種,一次性宣告多個變數

var mon, tues, wed, thur, fri, sat, sun int

var(

monday

inttuesday

intwednesday

intthursday

intfriday

intsaturday

intsunday

int)

第五種,短宣告變數

在函式內部,可以使用更簡略的 ":=" 方式定義變數。":=" 簡潔賦值語句在明確型別的地方,可以用於替代 var 定義。

package main

func main()

注意:":=" 結構不能在函式外使用。

第六種,形式引數

package main

func main()

func sum(a, b

int) (c int

)

變數優先順序

go語言程式中全域性變數與區域性變數名稱可以相同,但是函式內的區域性變數會被優先考慮。例項如下:

ackage main

import

"fmt"//

宣告全域性變數

var variable string = "

全域性變數

"func main()

執行結果:

結果:區域性變數

多變數賦值時,先計算所有相關值,然後再從左到右依次賦值。

package main

import

"fmt

"func main() , 0

i, data[i] = 2, "

oldboy

"fmt.printf(

"i:%v,data:%v\n

", i, data)

}

輸出結果:

i:2,data:[oldboy python linux golang]

Go 語言變數

go 語言變數名由字母 數字 下劃線組成,其中首個字元不能為數字。宣告變數的一般形式是使用 var 關鍵字 var identifier type變數宣告 第二種,根據值自行判定變數型別。第三種,省略 var,注意 左側需要宣告新的變數,否則就會產生編譯錯誤 package main import ...

Go語言變數

可以包含字幕,數字,下劃線。必須是字幕或者下劃線開頭 下劃線不建議 不能是關鍵字。首字母大寫為公有變數,可以被外包應用,小寫為私有變數,只可以在包內使用。1 var 變數名 型別名 變數值 2 自動推導型別 變數名 變數值 go語言函式支援多個返回值,當某個返回值不需要時,可以用匿名變數下劃線 接收...

GO語言 變數

宣告方式 var name type和c c 中 type name extern type name 在go語言中所有形式變數名稱都在型別的前面,這點和c c 是反過來的。注意如果區域性變數c c 會是乙個隨機值,而go語言會初始化為0 定義方式 var n int 10 n 10這兩行是等價的。...