GO語言的變數和常量

2021-09-26 15:42:27 字數 1714 閱讀 6766

所謂變數,就是在程式執行過程中可以修改變化的「量」,用來儲存一些程式設計過程中所用到的資料。通過變數的識別符號,來確定變數所用記憶體空間的大小。

命名規範

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語言在宣告變數...