欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語(yǔ)言數(shù)據(jù)類型初始化 go 初始化

Go數(shù)據(jù)結(jié)構(gòu)篇

1、基本數(shù)據(jù)類型

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供花山網(wǎng)站建設(shè)、花山做網(wǎng)站、花山網(wǎng)站設(shè)計(jì)、花山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、花山企業(yè)網(wǎng)站模板建站服務(wù),十年花山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

bool

string

int int8 int16 int32 int64

uint uint8 uint16 uint32 uint64 uintptr

byte // alias for int8

rune // alias for int32,represents a Unicode code point

float32 float64

complex64 complex128

常量定義

2、類型轉(zhuǎn)換

(1)Go語(yǔ)言不允許隱式類型轉(zhuǎn)換(不支持小位數(shù)類型向大位數(shù)類型轉(zhuǎn))

(2)別名和原有類型也不能進(jìn)行隱式類型轉(zhuǎn)換(type MyInt int64 = int64)

3、類型的預(yù)定義值

1.math.MaxInt64

2.math.MaxFloat64

3.math.MaxUInt32

4、指針類型

(1)不支持指針運(yùn)算

(2)string是值類型,其默認(rèn)的初始化值為空字符串,而不是nil

5、算術(shù)運(yùn)算符

+ - * / % ++ --(不支持前置++ --)

6、比較運(yùn)算符

#== != = =

(1)比較數(shù)組

相同維數(shù)且含有形同個(gè)數(shù)元素的數(shù)組才可以比較

每個(gè)元素都相同的才相等

7、位運(yùn)算符

| ^

^ (按位置零) a (^b)

1 ^ 0 1

1 ^ 1 0

0 ^ 1 0

0 ^ 0 0

8、條件與循環(huán)

(1)循環(huán)

Go 語(yǔ)?僅?持循環(huán)關(guān)鍵字 for

(2)條件

9、數(shù)組和切片

數(shù)組截取,索引下標(biāo)從0開始計(jì)數(shù)

a[開始索引(包含), 結(jié)束索引(不包含)]

a := [...]int{1, 2, 3, 4, 5}

a[1:2] //2

a[1:3] //2,3

a[1:len(a)] //2,3,4,5

a[1:] //2,3,4,5

a[:3] //1,2,3

切片內(nèi)部結(jié)構(gòu)

9、Map

9、字符串

Unicode UTF8

常?字符串函數(shù)

Go語(yǔ)言中new和 make的區(qū)別詳解

1、new 的主要特性

首先 new 是內(nèi)建函數(shù),定義也很簡(jiǎn)單:

func new(Type) *Type

內(nèi)建函數(shù) new 用來(lái)分配內(nèi)存,第一個(gè)參數(shù)是一個(gè)類型,不是一個(gè)值,返回值是一個(gè)指向新分配類型零值的指針

實(shí)現(xiàn)一個(gè)類似 new 的功能:

func newInt() *int {

var i int

return i

}

someInt := newInt()

函數(shù)的功能跟 someInt := new(int) 一模一樣。定義 new 開頭的函數(shù)時(shí),出于約定也應(yīng)該返回類型的指針。

2、make 的主要特性

make 也是內(nèi)建函數(shù),定義比 new 多了一個(gè)參數(shù),返回值也不同:

func make(Type, size IntegerType) Type

內(nèi)建函數(shù) make 用來(lái)為 slice,map 或 chan 類型分配內(nèi)存和初始化一個(gè)對(duì)象(注意:只能用在這三種類型上),跟 new 類似,第一個(gè)參數(shù)也是一個(gè)類型而不是一個(gè)值,跟 new 不同的是,make 返回類型的引用而不是指針,而返回值也依賴于具體傳入的類型,具體說(shuō)明如下:

Slice: 第二個(gè)參數(shù) size 指定了長(zhǎng)度,容量和長(zhǎng)度相同。

可以傳入第三個(gè)參數(shù)來(lái)指定不同的容量值,但必須不能比長(zhǎng)度值小。

比如 make([]int, 0, 10)

Map: 根據(jù) size 大小來(lái)初始化分配內(nèi)存,不過(guò)分配后的 map 長(zhǎng)度為 0,如果 size 被忽略了,那么會(huì)在初始化分配內(nèi)存時(shí)分配一個(gè)小尺寸的內(nèi)存

Channel: 管道緩沖區(qū)依據(jù)緩沖區(qū)容量被初始化。如果容量為 0 或者忽略容量,管道沒有緩沖區(qū)。

3、總結(jié)

new 的作用是初始化一個(gè)指向類型的指針(*T),make 的作用是為 slice,map 或 chan 初始化并返回引用(T)。

數(shù)據(jù)段保存有如下字符串:string byte

string是Go語(yǔ)言中的基礎(chǔ)數(shù)據(jù)類型。

聲明string變量非常簡(jiǎn)單,常見的方式有以下兩種:

聲明一個(gè)空字符串后再賦值。

var s string。

s = "hello world"。

需要注意的是空字符只是長(zhǎng)度為0,但不是nil。不存在值為nil的string。

使用簡(jiǎn)短變量聲明:

s := "hello world" //直接初始化字符串。

雙引號(hào)與單引號(hào)。

字符串不僅可以使用雙引號(hào)賦值,也可以使用反單引號(hào)賦值,它們的區(qū)別是在于對(duì)特殊字符的處理。

假如我們希望string變量表示下面的字符串,它包括換行符和雙引號(hào):

Hi。

this is "Steven"。

1。

2。

使用雙引號(hào)表示時(shí),需要對(duì)特殊字符轉(zhuǎn)義,如下所示:

s:= "Hi, \nthis is \"Steven\"."。

1。

如果使用反單引號(hào)時(shí),不需要對(duì)特殊符號(hào)轉(zhuǎn)義,如下所示:

s := Hi。

this is "Steven"。

需要注意的是,字符串拼接會(huì)觸發(fā)內(nèi)存分配以及內(nèi)存拷貝,單行語(yǔ)句拼接多個(gè)字符串只分配一次內(nèi)存。比如上面的語(yǔ)句中,在拼接時(shí),會(huì)先計(jì)算最終字符串的長(zhǎng)度后再分配內(nèi)存。

類型轉(zhuǎn)換:

項(xiàng)目中,數(shù)據(jù)經(jīng)常需要在string和字節(jié)[]byte之間轉(zhuǎn)換。

分享標(biāo)題:go語(yǔ)言數(shù)據(jù)類型初始化 go 初始化
標(biāo)題來(lái)源:http://chinadenli.net/article4/hgocie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣網(wǎng)站營(yíng)銷微信公眾號(hào)網(wǎng)站制作網(wǎng)站收錄網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)