91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

golang 之slice 變長數組

發布時間:2020-08-08 01:22:31 來源:ITPUB博客 閱讀:981 作者:luck_libiao 欄目:開發技術

slice:就是變長數組,主要是因為array(數組)長度不可變,導致在使用的時候存在諸多限制,才有了slice;slice 主要包含3個部分:1、指針 2、容量  3、長度 ,由于slice 的底層結構依然是數組,所以操作的時候,不是操作slice的數據,而實際是操作底層數組的數據,所以得有指向該數組的指針,長度則表示當前slice的長度(非底層數組的長度),容量則表示從slice起始位置到底層數組的結束位置,注意此處是位置差,即表示能存放多少個元素。


slice 的用法和array類似,但申明時,不指定數組的長度,如 var s []int,slice 通過len(s),cap(s)查看s的長度和容量

測試下:

main
main(){
   testArray =[]int {,,,,,,,,,}
   fmt.Println(testArray[:])
   fmt.Println(testArray[len(testArray)-])
   i,v:=testArray {
      fmt.Printf(,i,v)
   }
   s:=testArray[:]
   i1,v1:=s{
      fmt.Printf(,i1,v1)
   }
   fmt.Printf(,cap(s),len(s))
}
測試結果為:
[0 1 2 3]
9
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
0 3
1 4
2 5
3 6
4 7
the s cap's 7
the s len's 5
slice 倒序:
package main
import "fmt"
func main(){
   var testArray [10]int=[10]int {0,1,2,3,4,5,6,7,8,9}
   fmt.Println(testArray[0:4])
   fmt.Println(testArray[len(testArray)-1])
   for i,v:=range testArray {
      fmt.Printf("%d %d\n",i,v)
   }
   s:=testArray[3:8]
   for i1,v1:=range s{
      fmt.Printf("%d %d\n",i1,v1)
   }
   fmt.Printf("the s cap's %d\nthe s len's %d\n",cap(s),len(s))
   // reserse the slice
   fmt.Println("before reserse ",s)
   reserse(s)
   fmt.Println("after reserse",s)
}
func reserse(s []int){
   for i,j:=0,len(s)-1;i<j;i,j = i+1,j-1 {
      //for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {
      s[i],s[j]=s[j],s[i]
   }
}
輸出:
。。。
before reserse  [3 4 5 6 7]
after reserse [7 6 5 4 3]

檢查slice是否為空的兩種方式,直接和nil比較,還有一個是判斷slice長度為空

testNil []int
testNil==nil {
   fmt.Println()
}
len(testNil)=={
   fmt.Println()
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卫辉市| 迁安市| 津南区| 乐清市| 灵丘县| 白玉县| 雅江县| 神木县| 西昌市| 禄劝| 永修县| 岱山县| 景洪市| 乌审旗| 铜陵市| 全州县| 白水县| 墨玉县| 平泉县| 高雄市| 丰原市| 弥渡县| 峨眉山市| 钟山县| 西华县| 肥东县| 峨山| 临沂市| 枣庄市| 桃园县| 葵青区| 阳新县| 五原县| 龙海市| 名山县| 武强县| 上蔡县| 蒲城县| 三江| 西乌珠穆沁旗| 子洲县|