Go语言切片的使用

2.切片的使用

2.1 切片的定义方式1:

package main

import "fmt"

func main() {
	var slice []string
	slice = append(slice, "A")
	slice = append(slice, "B")
	slice = append(slice, "C")
	fmt.Println(slice)
	fmt.Printf("%T", slice)
    // 控制台输出:[A B C]
	// 控制台输出:[]string
}

2.2 切片的定义方式2:

package main

import "fmt"

func main() {
	var slice []string = []string{"A", "B", "C"}
	fmt.Println(slice)
	fmt.Printf("%T", slice)
	// 控制台输出:[A B C]
	// 控制台输出:[]string
}

2.3 切片的定义方式3:

package main

import "fmt"

func main() {
	var arr = [5]string{"A", "B", "C", "D", "E"}
	slice := arr[0:3]
	fmt.Println(slice)
	fmt.Printf("%T", slice)
	// 控制台输出:[A B C]
	// 控制台输出:[]string
}

2.4 切片的定义方式4:

package main

import "fmt"

func main() {
	var slice = []string{"A", "B", "C", "D", "E"}

	slice2 := slice[0:3]
	fmt.Println(slice2)
	fmt.Printf("%T", slice2)
	// 控制台输出:[A B C]
	// 控制台输出:[]string
}

2.5 切片的定义方式5:

package main

import "fmt"

func main() {
	slice := make([]string, 3)
	slice[0] = "A"
	slice[1] = "B"
	slice[2] = "C"
	fmt.Println(slice)
	fmt.Printf("%T", slice)
	// 控制台输出:[A B C]
	// 控制台输出:[]string
}

2.6 切片的定义方式6:

package main

import "fmt"

func main() {
	slice := make([]string, 3, 5)

	fmt.Println(slice)
	fmt.Printf("len = %d  ", len(slice))
	fmt.Printf("cap = %d\n", cap(slice))
	// 控制台输出:[  ]
	// 控制台输出:len = 3  cap = 5

	slice[0] = "A"
	slice[1] = "B"
	slice[2] = "C"
	fmt.Println(slice)
	fmt.Printf("len = %d  ", len(slice))
	fmt.Printf("cap = %d\n", cap(slice))
	// 控制台输出:[A B C]
	// 控制台输出:len = 3  cap = 5

	slice = append(slice, "D")
	fmt.Println(slice)
	fmt.Printf("len = %d  ", len(slice))
	fmt.Printf("cap = %d\n", cap(slice))
	// 控制台输出:[A B C D]
	// 控制台输出:len = 3  cap = 5

	slice = append(slice, "E")
	fmt.Println(slice)
	fmt.Printf("len = %d  ", len(slice))
	fmt.Printf("cap = %d\n", cap(slice))
	// 控制台输出:[A B C D E]
	// 控制台输出:len = 5  cap = 5

	slice = append(slice, "F")
	fmt.Println(slice)
	fmt.Printf("len = %d  ", len(slice))
	fmt.Printf("cap = %d\n", cap(slice))
	// 控制台输出:[A B C D E F]
	// 控制台输出:len = 6  cap = 10

	slice = append(slice, "G")
	fmt.Println(slice)
	fmt.Printf("len = %d  ", len(slice))
	fmt.Printf("cap = %d\n", cap(slice))
	// 控制台输出:[A B C D E F G]
	// 控制台输出:len = 7  cap = 10

}

遍历方式和数组差不多

posted @ 2023-08-24 21:09  wbnyua  阅读(17)  评论(0编辑  收藏  举报