Go 语言切片(Slice)
生活随笔
收集整理的這篇文章主要介紹了
Go 语言切片(Slice)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*創建切片*/numbers := []int {1,2,3,4,5,6,7,8,9,0}printSlice(numbers)/*打印原始切片*/fmt.Println("numbers ==" , numbers)/*打印子切片 從索引1到索引4(不包含1和4)*/fmt.Println("numbers[1~4] ==",numbers[1:4])
package mainimport "fmt"func main() {var numbers []intprintSlice(numbers)if(numbers == nil){fmt.Printf("切片是空的")}
}func printSlice(x []int){fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x)
}
/*默認下限為0*/fmt.Println("numbers[:3] == ",numbers[:3])/*默認上限為len(s)*/fmt.Println("numbers{0:}==",numbers[0:])numbers1 := make([]int ,0,5)printSlice(numbers1)}func printSlice (x []int) {fmt.Printf("len=%d cap=%d slice=%v\n" , len(x),cap(x),x) package mainimport "fmt"func main() {var numbers []intprintSlice(numbers)/* 允許追加空切片 */numbers = append(numbers, 0)printSlice(numbers)/* 向切片添加一個元素 */numbers = append(numbers, 1)printSlice(numbers)/* 同時添加多個元素 */numbers = append(numbers, 2,3,4)printSlice(numbers)/* 創建切片 numbers1 是之前切片的兩倍容量*/numbers1 := make([]int, len(numbers), (cap(numbers))*2)/* 拷貝 numbers 的內容到 numbers1 */copy(numbers1,numbers)printSlice(numbers1) ?? }func printSlice(x []int){fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x) }
/*默認下限為0*/fmt.Println("numbers[:3] == ",numbers[:3])/*默認上限為len(s)*/fmt.Println("numbers{0:}==",numbers[0:])numbers1 := make([]int ,0,5)printSlice(numbers1)}func printSlice (x []int) {fmt.Printf("len=%d cap=%d slice=%v\n" , len(x),cap(x),x) package mainimport "fmt"func main() {var numbers []intprintSlice(numbers)/* 允許追加空切片 */numbers = append(numbers, 0)printSlice(numbers)/* 向切片添加一個元素 */numbers = append(numbers, 1)printSlice(numbers)/* 同時添加多個元素 */numbers = append(numbers, 2,3,4)printSlice(numbers)/* 創建切片 numbers1 是之前切片的兩倍容量*/numbers1 := make([]int, len(numbers), (cap(numbers))*2)/* 拷貝 numbers 的內容到 numbers1 */copy(numbers1,numbers)printSlice(numbers1) ?? }func printSlice(x []int){fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x) }
總結
以上是生活随笔為你收集整理的Go 语言切片(Slice)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GO 语言结构体
- 下一篇: Go语言范围(Range)