真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

第九章九析帶你輕松完爆go-切片slice

系列文章:

創(chuàng)新互聯(lián)專注于睢寧縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站開發(fā)。睢寧縣網(wǎng)站建設(shè)公司,為睢寧縣等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

總目錄索引:九析帶你輕松完爆 go 系列教程

目錄

1 前言

2 切片的聲明

3 切片的初始化

????3.1 先聲明后初始化

????3.2 聲明并初始化

4 切片和數(shù)組的關(guān)系

????4.1 數(shù)組轉(zhuǎn)化為切片

????4.2 切片的長度

????4.3 切片的容量

????4.4 切片的切片


1 前言

????????如果你對(duì)博客有任何疑問或者想更深入學(xué)習(xí) go,請(qǐng)加微信群,我們一起進(jìn)步:

第九章 九析帶你輕松完爆 go - 切片 slice


2 切片的聲明

????????切片在 go 語言中是一種特殊的數(shù)據(jù)類型,你不要覺得它難學(xué),你只需要將它看成一種特殊的數(shù)組類型即可。它跟數(shù)組區(qū)別在于,數(shù)組聲明時(shí)需要指定長度,但切片并不指定長度。如下所示:

package main

import "fmt"

func main() {

???? var slice []int # 切片

???? var arr [2]int # 數(shù)組

???? fmt.Println(slice)

???? fmt.Println(arr)

}

????????程序執(zhí)行結(jié)果如下:

[]

[0 0]


3 切片的初始化

????????切片初始化跟數(shù)組初始化沒任何不同。分為先聲明后初始化和同時(shí)聲明并初始化

3.1 先聲明后初始化

package main

import "fmt"

func main() {

???? var slice []int

???? slice = []int{2, 3}

???? fmt.Println(slice)

}

3.2 聲明并初始化

package main

import "fmt"

func main() {

???? slice := []int{1, 2, 3}

???? fmt.Println(slice)

}


4 切片和數(shù)組的關(guān)系

????????切片和數(shù)組的關(guān)系從某種程度上類似數(shù)據(jù)庫中的視圖(view)和表(table)的關(guān)系。下面的例子會(huì)印證此說法。

4.1 數(shù)組轉(zhuǎn)化為切片

package main

import "fmt"

func main() {

???? var arr [6]int = [6]int{1, 3, 5, 7, 9, 11} # 數(shù)組定義并初始化

???? var slice = arr[0:6] # 將數(shù)組 arr 進(jìn)行切片,形成切片數(shù)據(jù)類型,切片的長度此例為 [0, 6)(左閉右開)

???? fmt.Println(arr)

???? fmt.Println(slice)

}

????????執(zhí)行結(jié)果:

[1 3 5 7 9 11]

[1 3 5 7 9 11]

4.2 切片的長度

????????切片長度可通過 len() 函數(shù)獲得:

package main

import "fmt"

func main() {

???? var arr [6]int = [6]int{1, 3, 5, 7, 9, 11}

???? var slice = arr[0:6]

???? fmt.Println(arr)

???? fmt.Println(slice)

???? fmt.Println(len(slice)) # 長度為6,就是元素個(gè)數(shù)

}

4.3 切片的容量

????????切片容量可通過函數(shù) cap() 獲得。函數(shù)結(jié)果類似 java 語言中 string.substring(index, len(string)) 的值。樣例代碼如下:

package main

import "fmt"

func main() {

???? var arr [6]int = [6]int{1, 3, 5, 7, 9, 11}

???? var slice1 = arr[0:3] # 該切片從索引 0 開始。

???? fmt.Println(cap(slice1)) # cap() 值等于數(shù)組從索引(0)到最后元素的個(gè)數(shù)。

???? var slice2 = arr[3:6] # 該切片從索引 3 開始。

???? fmt.Println(cap(slice2)) # cap() 值等于數(shù)組從索引(3)到最后元素的個(gè)數(shù)

????var slice3 = arr[2:4]

????fmt.Println(cap(slice3))

}

????????執(zhí)行結(jié)果:

6

3

4

4.4 切片的切片

package main

import "fmt"

func main() {

???? var arr [6]int = [6]int{1, 3, 5, 7, 9, 11}

???? var slice = arr[2:5]

???? var sliceOfSlice = slice[2:]

???? fmt.Println(arr)

???? fmt.Println(slice)

???? fmt.Println(sliceOfSlice)

}


當(dāng)前題目:第九章九析帶你輕松完爆go-切片slice
本文路徑:http://weahome.cn/article/jpijhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部