切片不需要指定长度
案例1
package main
import "fmt"
func main() {
var mySlice[] int = []int{1,2,3}
fmt.Println(mySlice)
// 切片加入新元素
mySlice = append(mySlice,99)
fmt.Println(mySlice)
}
![](https://img.haomeiwen.com/i12729594/52f48a2f03885690.png)
简化编写
package main
import "fmt"
func main() {
var mySlice = []int{1,2,3}
fmt.Println(mySlice)
// 切片加入新元素
mySlice = append(mySlice,99)
fmt.Println(mySlice)
}
案例2
使用make函数
package main
import "fmt"
func main() {
mySlice := make([]int,3)
fmt.Println(mySlice)
mySlice[0] = 2
mySlice[1] = 55
mySlice[2] = 32
fmt.Println(mySlice)
mySlice = append(mySlice,99,89)
fmt.Println(mySlice)
}
![](https://img.haomeiwen.com/i12729594/ece94c1cb4bc6e10.png)
可以简写
案例3
package main
import "fmt"
func main() {
mySlice := make([]int,3)
fmt.Println(mySlice)
changeSlice(mySlice)
fmt.Println(mySlice)
}
func changeSlice(slice []int) {
for index := range slice {
slice[index] = 4
}
}
![](https://img.haomeiwen.com/i12729594/a7e9ec0f7033421b.png)
切片充当参数和数组充当参数显然不一样的。
网友评论