golang 變量

變量的聲明,初始化

    // 聲明變量
    // 方式1,var name type
    var name string
    var age int
    // 沒有賦值,默認(rèn)為該類型的零值,string的零值"",int的零值0
    fmt.Println(name,age)
    // 賦值
    name = "亞里士多德"
    age = 89
    fmt.Println(name,age)

    // 方式2,var name type = init value,聲明變量時初始化化
    var birthday string = "2022-2-2"
    fmt.Println(birthday)

    // 方式3,var name = init value,類型推斷。如果變量有初始化值,就可以在變量聲明中省略type
    var height = 189
    fmt.Println(height)

    // 方式4,name := inti value,簡短聲明。所有變量必須有初始值
    student := "Hans"
    teacher,class := "Darse", 5
    fmt.Println(student)
    fmt.Println(teacher,class)

    // 聲明多個變量
    var lenght,area int = 10,200
    fmt.Println(lenght,area)
    var (
        title = "且介亭雜文"
        author = "魯迅"
        read = 100
    )
    fmt.Println(title,author,read)

零值

沒有明確初始值的變量聲明會被賦予它們的 零值。

零值是:

數(shù)值類型為 0,
布爾類型為 false,
字符串為 ""(空字符串)。

包級別變量,函數(shù)級別變量
包級別變量聲明了可以不使用,運行時不會報錯

package main

import "fmt"

var c, python, java bool

func main() {
    var i int
    fmt.Println(i, c, python)
}

函數(shù)級別變量聲明后必須使用,否則報錯

package main

import "fmt"

var c, python, java bool

func main() {
    var i int
    fmt.Println(c, python, java)
}

報錯

./prog.go:8:6: i declared and not used

函數(shù)外的每個語句都必須以關(guān)鍵字開始(var, func 等等),因此 := 結(jié)構(gòu)不能在函數(shù)外使用。

package main

import "fmt"

k := 3

func main() {
    var i, j int = 1, 2
    
    c, python, java := true, false, "no!"

    fmt.Println(i, j, k, c, python, java)
}

報錯

./prog.go:5:1: syntax error: non-declaration statement outside function body
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 命名規(guī)范 1.變量名、常量名、函數(shù)名、類型名、語句標(biāo)號、包名等,以字母(Unicode)或者下劃線開頭,后面跟任意...
    Cici冬雪閱讀 679評論 0 0
  • 變量聲明 標(biāo)準(zhǔn)格式 Go 語言的變量聲明格式為: 變量聲明以關(guān)鍵字 var 開頭,后置變量類型,行尾無須分號。 批...
    杰克慢閱讀 373評論 0 0
  • 參考資料 翻譯自 https://medium.com/golangspec/initialization-dep...
    hezhangjian閱讀 603評論 0 4
  • [toc]任何高級語言,變量都是程序最基本的組成單位.golang中的變量相當(dāng)于給內(nèi)存中一個數(shù)據(jù)的存儲空間打一個記...
    瓦燈_c6f0閱讀 323評論 0 0
  • 總目錄:http://www.itdecent.cn/p/e406a9bc93a9 Golang - 子目錄:h...
    寒暄_HX閱讀 453評論 0 1

友情鏈接更多精彩內(nèi)容