go - 變數和常量

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

1.定義變數

goLang中定義變數的方式很多

先聲明再使用;如果定義的變數未使用編譯時間會報錯
a. 

/*定義單個變數*/var varName type          //定義一個 type 類型的變數 varNamevarName = value           //給變數 varName 賦值var varName type = value  //定義變數並賦初始值/*定義多個變數*/var varName1, varName2 type              //定義兩個 type 類型的變數 varName1 和 varName2varName1, varName2 = val1, val2          //給兩個變數分別賦值,varName1 = val1 ...var varName1, varName2 type = val1, val2 //定義兩個 type 類型的變數,varName1 = val1 ...

b.

/*單個*/var varName = val                   //定義變數並賦初始值,系統會根據 val (值)的類型來定義 varName (變數)的類型/*多個*/var varName1, varName2 = val1, val2 //varName1 = val1 ... (同上)

c.

/*單個*/varName := val                   //同 b 一樣,根據值來判定變數的類型/*多個*/varName1, varName2 := val1, val2 //varName1 = val1 ...//用 ":=" 取代 var type,寫法更簡潔,但是這種聲明方式只能用在函數內部,否則編譯會報錯

d.

_, varName2 := val1, val2  //丟棄 val1 , varName2 = val2//_(底線)是一個特殊的變數,賦給它的值會被丟棄

 

e.

定義多個變數時可用 ( ) 來聲明,減少代碼量

 

var (    varName1 type    varName2 type) //定義兩個變數var (    varName1 = val1    varName2 = val2) //定義兩個變數並賦值

 

 

2. 常量

常量:在程式不能被改變的值,一般都定義為數值,布爾值,字串等

格式:

 

const constName [type] = val//定義一個常量 constName = val , type可省略,編譯時間系統會根據 val 來確定類型

 

註:

1). var num = 3 //實際上 3 也稱為常量

2). 格式中 val 可以是運算式,但不能為運行時才能知道結果的運算式

3). 預定義常量: true / false / iota

4). 定義多個常量時,也可用下面方式

 

const (    constName1 [type] = val1    constName2 [type] = val2)

 


note_var_const.go code list

 

package main //聲明當前檔案所屬的包名,main 是一個可獨立啟動並執行包,編譯後會產生可執行檔import "fmt" //匯入包var id = 123456/*id2 := 654321//在函數外用 := ,編譯時間會出現錯誤//non-declaration statement outside function body*/const PI = 3.14//每個可獨立啟動並執行程式,都包含入口函數 main ,與其他語言相同,但無參數和傳回值func main() {var num intnum = 100fmt.Println(num)//輸出 100var num1, num2 intnum1, num2 = 1, 2fmt.Println(num1, num2) //輸出 1 2var no1, no2 = 3, 4fmt.Println(no1, no2) //輸出 3 4n1, n2 := 5, 6fmt.Println(n1, n2)//輸出 5 6_, n := 7, 8fmt.Println(n) //輸出 8var (key1 stringkey2 string)key1, key2 = "k1", "k2"fmt.Println(key1, key2) //輸出 k1 k2var (a = 9b = 10)fmt.Println(a, b) //輸出 9 10fmt.Println(id) //輸出 123456fmt.Println(PI) //輸出 3.14/*PI = 3.1415//改變常量的值,編譯會出現錯誤//cannot assign to PI//cannot use 3.1415 (type float64) as type ideal in assignment*/}

 


 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.