溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何理解Go語言變量與基礎(chǔ)數(shù)據(jù)類型

發(fā)布時間:2021-09-29 17:23:23 來源:億速云 閱讀:92 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“如何理解Go語言變量與基礎(chǔ)數(shù)據(jù)類型”,在日常操作中,相信很多人在如何理解Go語言變量與基礎(chǔ)數(shù)據(jù)類型問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何理解Go語言變量與基礎(chǔ)數(shù)據(jù)類型”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

目錄
  • 一、基礎(chǔ)介紹

    • 1、Go 的特性

    • 2、Go 的常用命令

    • 3、Hello Word

  • 二、變量

    • 1、定義方式

      • 三、常量

        • 四、基礎(chǔ)數(shù)據(jù)類型

          • 1、數(shù)字

          • 2、浮點型(小數(shù),32/64表示小數(shù)點后長度多少位)

          • 3、布爾(Bool)

          • 4、字符串

        一、基礎(chǔ)介紹

        Go 是靜態(tài)(編譯型)語言,是區(qū)別于解釋型語言的弱類型語言(靜態(tài):類型固定,強類型:不同類型不允許直接運算)

        例如 python 就是動態(tài)強類型語言

        1、Go 的特性

        跨平臺的編譯型語言,交叉編譯

        管道(channel),切片(slice),并發(fā)(routine

        有垃圾回收機制

        支持面向?qū)ο蠛兔嫦蜻^程的編程模式(Go 的面向?qū)ο鬀]有類的概念)

        2、Go 的常用命令

        go env   // go的環(huán)境變量
            -GO111MODULE=     // 空的,現(xiàn)在沒有使用MODULE模式
            -GOPATH=C:\Users\oldboy\go  // 代碼存放路徑
            -GOROOT=c:\go     // go sdk安裝路徑
        go build   // 編譯型語言,需要先編譯再執(zhí)行,編譯成可執(zhí)行文件,執(zhí)行可執(zhí)行文件
        go run   // 編譯并執(zhí)行,開發(fā)階段用,兩步并作一步
        
        go get   // 下載并安裝包和依賴等同于pip install
        go version
        go fmt   // 運行g(shù)ofmt進(jìn)行格式化(go fmt :自動將代碼格式)

        3、Hello Word

        // 單行注釋
        
        /*
        多行注釋
        多行注釋
         */
        
        
        // Go(所有編譯型語言)項目要運行,必須有一個入口
        // Go 的入口是 main 包下的 main 函數(shù)
        
        // main 包下可不可以有多個 main 函數(shù)
        
        package main    // 聲明包名,包名是 main,每一個 Go 文件都屬于某個包
        
        import "fmt"    // 導(dǎo)入包,內(nèi)置包
        
        func main() {   // 定義了一個main函數(shù),大括號包裹是函數(shù)體的內(nèi)容
         fmt.Println("Hello World")  // 打印函數(shù)等同與print()
        }
        
         
        
        // 編譯
        go build s1.go
        // 執(zhí)行
        s1.exe
        
        // 編譯并執(zhí)行
        go run s1.go
        // 在goland中,右鍵,運行即可

        二、變量

        go 語言的變量定義方式主要分為三種方式,并且不能重復(fù)定義。

        1、定義方式

        方式一:全定義

        // var 變量名 變量類型 = 變量值
        
        package main 
        
        import "fmt"
        
        func main() {
         var age int = 10 // 在go中,變量定義了就必須使用,如果不使用就報錯
         fmt.Println(age)
        }

        方式二:類型推導(dǎo)(類型就不需要寫了)

        package main
        
        import "fmt"
        
        func main() {
           var age = 20
           var name = "XiaoYang"
            
           fmt.Println(age, name)
           fmt.Printf("%T\n",name)     // 查看變量類型 \n表示換行
           fmt.Printf("%p",&name)   // 查看變量內(nèi)存地址
        }
        
        // 輸出
        20 XiaoYang
        string
        0xc000056230

        方式三:簡略聲明(類型和 var 關(guān)鍵字都不寫)

        package main
        
        import "fmt"
        
        func main() {
           age := 20
           var age int = 30   // 重復(fù)定義會報錯,不能重復(fù)定義
            
           fmt.Println(age)
        }

        其他定義方式:其他定義方式都是在前三種方式的基礎(chǔ)上做出變形而出現(xiàn)的:

        只定義不賦值:

        var age int // 定義變量,如果只定義不賦值,只能用這種方式
        
        var age  // 錯誤,無法判斷類型

        聲明多個變量:

        var width, height int = 100, 50  // 聲明多個變量
        var width, height = 100, 50   // 聲明多個變量
        var width, height = 100, "XiaoYang" // 聲明多個變量
        width, height := 100, "XiaoYang" // 聲明多個變量

        聲明多個變量,并賦初始值:

        var (
           name = "XiaoYang"
           age int = 20
           height int
        )
        fmt.Println(name, age, height)

        注意:

        var age int = 20
        
        name, age := "XiaoYang", 21  
        // 這種情況不會報錯,我們覺得是重復(fù)定義,冒號左側(cè)只要有一個沒有定義過得變量就可以。
        
        fmt.Println(name, age)

        總結(jié):

        • 變量類型在定義階段就確定了,一旦確定,不允許改變

        • 變量不可以重復(fù)定義

        • 變量要先定義在使用

        • 變量定義規(guī)范

        • 變量命名建盡量使用駝峰(大小寫有特殊意義)

        • Go 文件命名建議用下劃線

        • 一個名字必須以一個字母(Unicode字母)或下劃線開頭,后面可以跟任意的字母、數(shù)字或下劃線

        • 大寫字母和小寫字母是不同的:Name name 是兩個不同的變量

        • 關(guān)鍵字和保留字都不建議用作變量名

        三、常量

        常量定義的定義使用 const 關(guān)鍵字定義,不允許改變

        方式一:

        package main
        
        import "fmt"
        
        func main() {
           const age int = 20 // 不允許修改,修改會報錯
        
           fmt.Println(age)
        }

        方式二:類型推導(dǎo)

        package main
        
        import "fmt"
        
        func main() {
           const age = 20 
        
           fmt.Println(age)
        }

        注意:不能使用 := 這種方式定義,這樣就是定義變量了

        四、基礎(chǔ)數(shù)據(jù)類型

        1、數(shù)字

        // 有符號整形
        int: 在32位機器是int32,在64位機器是int64
        int8: 表示整數(shù)范圍是:8個比特位,8個bit是1byte ,第一位表示正負(fù)數(shù)0/1, 所以是2的7次方-1 的范圍
        int16: 2的15次方減一
        int32: 2的32次方減一
        int64: 2的64次方減一
        byte: 等于int8
        short: 等于int16
        
        // 無符號整形
        uint8: 沒有負(fù)數(shù)表示,所以是2的8次方減一
        uint16: 同上
        uint32:
        uint64:

        2、浮點型(小數(shù),32/64表示小數(shù)點后長度多少位)

        float32
        float64

        3、布爾(Bool)

        // 數(shù)據(jù)類型默認(rèn)值:
        
        數(shù)字類型是  0
        字符串類型是    空字符串
        布爾類型  false

        4、字符串

        // 雙引號包裹
        // 單引號包裹

        到此,關(guān)于“如何理解Go語言變量與基礎(chǔ)數(shù)據(jù)類型”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

        向AI問一下細(xì)節(jié)

        免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

        go
        AI