所謂變數,就是在程式執行過程中可以修改變化的「量」,用來儲存一些程式設計過程中所用到的資料。通過變數的識別符號,來確定變數所用記憶體空間的大小。
命名規範
go語言中的變數名由數字、字母、下劃線組成,但不能以數字開頭。
合法的變數名
非法的變數名
abc1abc
abc_
^abc
abc_123
ab*c
_abc123
錕斤拷宣告乙個變數
標準格式
宣告變數的標準格式如下所示:
var name type
//var 變數名 資料型別
若像上述**中宣告後不進行賦值,那麼此變數的值為該資料型別的預設值。各資料型別的預設值對照表如下:
資料型別
預設值整型/浮點型
0字串
空字串 : 「」
布林型false
切片/函式/指標
nil自動判斷型別
var name = value
//var 變數名 = 變數值
在這種格式中,程式會根據變數值自動判斷變數的資料型別。
省略var
name := value
//變數名 := 變數值
注意:此時的變數名應是未宣告的,若使用已宣告的變數名會報編譯錯誤。
宣告多個變數
// 格式一
var (
name1 = 1
name2 = "cheo"
… namen = n
)// 格式二
var name1,name2,…,namen = 1,"cheo",…,n
// 格式三
name1,name2,…namen := 1,"cheo",…,n
變數的作用域
go語言中以**塊來區分變數的作用域,即使用{}定義的**段,包括函式、if/for/while。在塊內定義的變數只能在本塊中使用,由於go語言的作用域是層疊的,所以在內層**塊是可以在不同名的情況下呼叫外層**塊的變數的。示例如下:
// 全域性(函式外)定義3個變數
var (
v1 = 1
v2 = 2
v3 = 3
)func main() 函式塊,定義2個變數
var (
v2 = 22
v3 = 33
) fmt.println(v1, v2, v3)
// 結果 1 22 33
塊,定義1個變數
var (
v3 = 333
)fmt.println(v1, v2, v3)
// 結果 1 22 333
}}
常量是在程式執行時不會被修改的「量」,以const為關鍵字,其資料型別可以是布林型、數字型(整型/浮點型/複數)和字串。其用法和命名方式與變數無差別,在這裡不再贅述。
特殊常量iota
package main
import "fmt"
func main()
輸出結果:
0 1 2 cheo cheo 100 100 7 8
Go語言 變數和常量
我們在這裡需要優先說明的是用於宣告變數的關鍵字var,以及用於宣告常量的關鍵字const。要知道,絕大多數的資料型別的值都可以被賦給乙個變數,包括函式。而常量則不同,它只能被賦予基本資料型別的值本身。變數和常量在宣告方式方面也有所不同。我們可以在宣告乙個變數的時候直接為它賦值,也可以只宣告不賦值。變...
go語言的學習 常量和變數
常量package main type sint int func main func test a sint iota的用法const a 0 b 1 c 2 通過iota可以簡化為 const a iota b iota c iota 繼續簡化 const a iota b c 變數變數採用 v...
Go變數和常量
程式執行過程中的資料都是儲存在記憶體中,我們想要在 中操作某個資料時就需要去記憶體上找到這個變數,但是如果我們直接在 中通過記憶體位址去操作變數的話,的可讀性會非常差而且還容易出錯,所以我們就利用變數將這個資料的記憶體位址儲存起來,以後直接通過這個變數就能找到記憶體上對應的資料了。go語言在宣告變數...