第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開(kāi)發(fā)者教程

Go 入門(mén)教程

Go 語(yǔ)言基礎(chǔ)教程
01 Go語(yǔ)言簡(jiǎn)介 02 Go 在 Windows 上的安裝及配置 03 Go 在 Linux 上的安裝與配置 04 Go 在 MacOS 上的安裝及配置 05 Git 的下載和安裝 06 VSCode 編輯器安裝和配置 07 Go 的變量聲明 08 Go 的變量賦值 09 Go 語(yǔ)言的 := 10 Go 的整型(int) 11 Go 的無(wú)符號(hào)整型(uint) 12 Go 的浮點(diǎn)型(float) 13 Go 的字符類(lèi)型 14 Go 的布爾型(bool) 15 Go 的強(qiáng)制類(lèi)型轉(zhuǎn)換 16 Go 語(yǔ)言的常量 17 Go 語(yǔ)言中代替枚舉的辦法 18 Go 語(yǔ)言中的運(yùn)算符 19 Go 語(yǔ)言的分支語(yǔ)句 20 Go 語(yǔ)言的循環(huán)語(yǔ)句 21 Go 語(yǔ)言的通道 22 Go 語(yǔ)言中的函數(shù) 23 Go 語(yǔ)言函數(shù)中的 defer 24 Go 語(yǔ)言中的閉包 25 Go 語(yǔ)言的指針 26 Go 語(yǔ)言中的數(shù)組 27 Go 語(yǔ)言中的切片 28 Go 語(yǔ)言中的 Map 29 Go 語(yǔ)言中的 range 30 Go 語(yǔ)言拓展以有類(lèi)型 31 Go 語(yǔ)言中的結(jié)構(gòu)體和"面向?qū)ο?quot; 32 Go 語(yǔ)言中的接口 33 Go 語(yǔ)言類(lèi)型的內(nèi)嵌 34 Go 語(yǔ)言中的 nil 35 Go 語(yǔ)言函數(shù)式編程 36 Go 語(yǔ)言中的錯(cuò)誤和異常處理 37 Go 語(yǔ)言的并發(fā) 38 Go 語(yǔ)言中的包 39 Go 語(yǔ)言 go mod 包依賴(lài)管理工具 40 Go 語(yǔ)言的文件操作 41 Go 語(yǔ)言中的系統(tǒng)包 42 Go 語(yǔ)言的 strings 系統(tǒng)包的使用 43 Go 語(yǔ)言中的變參 44 Go 語(yǔ)言中的反射 45 Go 語(yǔ)言性能測(cè)試 46 使用 Go 語(yǔ)言搭建簡(jiǎn)易登錄功能 47 使用 gin 包優(yōu)化登錄功能

Go 語(yǔ)言的整型(int)數(shù)據(jù)類(lèi)型

還記得我們之前在第 7 小節(jié)和第 8 小節(jié)中提到的變量數(shù)據(jù)類(lèi)型的概念嗎?從這個(gè)小節(jié)開(kāi)始到后面的幾個(gè)小節(jié)中我們都會(huì)進(jìn)行對(duì) Go 語(yǔ)言中的數(shù)據(jù)類(lèi)型相關(guān)知識(shí)點(diǎn)進(jìn)行講解,本節(jié)課我們主要講解一下 Go 語(yǔ)言中處理帶符號(hào)的整數(shù)的數(shù)據(jù)類(lèi)型。

1. 定長(zhǎng)類(lèi)型

在 Go 語(yǔ)言中整形數(shù)據(jù)類(lèi)型被細(xì)致地劃分為了下面幾種,根據(jù)可以存儲(chǔ)數(shù)據(jù)的長(zhǎng)度分為:

序號(hào) 類(lèi)型 長(zhǎng)度
1 int8 -128~127
2 int16 -32768~32767
3 int32 -2147483648~2147483647
4 int64 -9223372036854775808~9223372036854775807

2. 不定長(zhǎng)類(lèi)型

在 Go 語(yǔ)言中也實(shí)現(xiàn)了隨著平臺(tái)位數(shù)變化而變化的數(shù)據(jù)類(lèi)型int。一般來(lái)說(shuō),這個(gè)類(lèi)型在32位的系統(tǒng)中長(zhǎng)度和int32一致,在64位的系統(tǒng)中長(zhǎng)度和int64一致。

package main

import (
    "fmt"
    "math"
)

func main() {
    var num int
    num = math.MaxInt64//將e賦予int64的最大值:9223372036854775807
    fmt.Println(num)
}

在 64 位操作系統(tǒng)環(huán)境中執(zhí)行結(jié)果:

圖片描述

64 位操作系統(tǒng)執(zhí)行結(jié)果

在 32位 操作系統(tǒng)環(huán)境中,因?yàn)?code>int的長(zhǎng)度與int32相等了,只有32位,所以執(zhí)行會(huì)報(bào)超出取值范圍的錯(cuò)誤:

圖片描述

32 位操作系統(tǒng)執(zhí)行結(jié)果

3. 各類(lèi)型的互相轉(zhuǎn)換

Go 語(yǔ)言是強(qiáng)類(lèi)型語(yǔ)言,各個(gè)雖然同是整型,但是不同整型的變量不允許直接賦值,需要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,同時(shí)長(zhǎng)度大的整型向長(zhǎng)度小的整型轉(zhuǎn)換時(shí),要考慮溢出問(wèn)題。而且不同類(lèi)的整型無(wú)法進(jìn)行運(yùn)算,想要進(jìn)行運(yùn)算必須要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,使他們都變成同一類(lèi)型之后,再運(yùn)算。舉一個(gè)int8int16類(lèi)型的變量賦值與計(jì)算的例子:

package main

import (
    "fmt"
    "math"
)

func main() {
    var a int8 = math.MaxInt8
    var b int16 = math.MaxInt8 + 1
    fmt.Println(a, b)

    a = int8(b)
    fmt.Println(a, b) //因?yàn)閎長(zhǎng)度過(guò)長(zhǎng),在轉(zhuǎn)換為int8的過(guò)程中溢出了

    //整型變量可以和常數(shù)進(jìn)行計(jì)算
    a = a + 1
    b = b + 1
    fmt.Println(a, b)

    //不同類(lèi)型的整型變量計(jì)算必須強(qiáng)轉(zhuǎn)為相同類(lèi)型,一般轉(zhuǎn)換為長(zhǎng)度大的來(lái)計(jì)算
    c := int16(a) + b
    fmt.Println(c)
}

輸出結(jié)果:

圖片描述

各類(lèi)型互相轉(zhuǎn)換輸出結(jié)果

3. 小結(jié)

這一小節(jié)中我們主要介紹了有符號(hào)整形數(shù)據(jù)類(lèi)型,整形數(shù)據(jù)類(lèi)型根據(jù)可以存儲(chǔ)的數(shù)據(jù)長(zhǎng)度分為了: int8 、 int16 、 int32int64 ,我們?cè)谑褂玫臅r(shí)候要根據(jù)條件需求來(lái)決定變量的數(shù)據(jù)類(lèi)型,同時(shí)也要注意高精度向低精度轉(zhuǎn)失真的風(fēng)險(xiǎn)。