中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Go中Slice的使用2

發布時間:2020-06-14 10:46:09 來源:網絡 閱讀:369 作者:ck_god 欄目:編程語言
// code_013_slice_usage project main.go
package main

import (
    "fmt"
)

func test(s []int) {
    s[0] = -1
    fmt.Println("test:")
    for i, v := range s {
        fmt.Printf("s[%d]=%d\n", i, v)
    }
    fmt.Println("\n")
}

func main() {
    //  var s1 []int
    //  s2 := []int

    //  var s3 []int = make([]int ,0)
    //  s4 :=make([]int, 0, 0)
    s := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
    s1 := s[2:5]
    fmt.Println(s1)

    s2 := s1[2:6]
    s2[3] = 200
    fmt.Println(s2)
    fmt.Println(s)

    //內建函數的使用
    //1)append函數向slice尾部添加數據,返回新的slice對象
    var ss []int
    ss = append(ss, 1)
    ss = append(ss, 2, 3)
    ss = append(ss, 4, 5, 6)
    fmt.Println(ss)

    ss2 := make([]int, 5)
    ss2 = append(ss2, 6)
    fmt.Println(ss2)

    ss3 := []int{1, 2, 3}
    ss3 = append(ss3, 4, 5)
    fmt.Println(ss3)

    //append函數會智能地底層數組的容量增長,一旦超過原底層數組容量
    //通常以2倍容量重新分配底層數組,并復制原來的數據
    sss := make([]int, 0, 1)
    c := cap(sss)
    for i := 0; i < 50; i++ {
        sss = append(sss, i)
        if n := cap(sss); n > c {
            fmt.Printf("cap:%d -> %d\n", c, n)
            c = n
        }
    }

    //copy
    //函數copy在兩個slice間賦值數據
    //賦值長度以len小為準,兩個silce可指向同一底層數組
    data := [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
    v1 := data[8:] //{8, 9}
    v2 := data[:5] //{0, 1, 2, 3, 4}
    copy(v2, v1)   // dst:s2, src:s1

    fmt.Println(v2)   //[8 9 2 3 4]
    fmt.Println(data) //[8 9 2 3 4 5 6 7 8 9]

    //切片做函數參數
    slice := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
    test(slice)

    fmt.Println("main:")
    for i, v := range slice {
        fmt.Printf("slice[%d]=%d\n", i, v)
    }
    //備注:底層數組的值被改變了。
    fmt.Println("\n")
}
向AI問一下細節

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

AI

辽宁省| 枞阳县| 莱芜市| 商洛市| 老河口市| 梓潼县| 容城县| 北川| 手游| 万州区| 垫江县| 湘潭县| 景东| 安化县| 墨竹工卡县| 读书| 平阳县| 台东县| 内丘县| 日土县| 榆社县| 太谷县| 张家港市| 佛坪县| 鄱阳县| 理塘县| 扶绥县| 永胜县| 鲁甸县| 乡宁县| 新河县| 饶阳县| 永德县| 宁德市| 南康市| 武冈市| 漠河县| 东丽区| 平乡县| 靖西县| 远安县|