本文由go语言教程栏目给大家分享go中关于Slice的使用注意事项,希望对需要的朋友有所帮助!
这篇文章跟大家探讨一下slice在Go中的使用,一起看看下面这段程序
package mainimport ( "fmt" )func main() { var array [10]int var slice = array[5:6] fmt.Println("lenth of slice: ", len(slice)) fmt.Println("capacity of slice: ", cap(slice)) fmt.Println(&slice[0] == &array[5])}
接下来大家看看这段程序,试着自己跑一下程序,动手实践是最好的老师
package mainimport ( "fmt")func AddElement(slice []int, e int) []int { return append(slice, e) }func main() { var slice []int slice = append(slice, 1, 2, 3) newSlice := AddElement(slice, 4) fmt.Println(&slice[0] == &newSlice[0])}
接着往下继续看这段程序会怎样输出,可以思考一下或者跑跑程序:
package mainimport ( "fmt")func main() { orderLen := 5 order := make([]uint16, 2 * orderLen) pollorder := order[:orderLen:orderLen] lockorder := order[orderLen:][:orderLen:orderLen] fmt.Println("len(pollorder) = ", len(pollorder)) fmt.Println("cap(pollorder) = ", cap(pollorder)) fmt.Println("len(lockorder) = ", len(lockorder)) fmt.Println("cap(lockorder) = ", cap(lockorder))}
跑完上面的程序后带着疑问接着往下看会更好,整个人有一种豁然开朗的感觉,不信可以试试:
这篇文章对Slice的一些使用讲解就在这里了,希望帮到有需要的伙伴吧,更多关于Slice的使用欢迎留言告知探讨
以上是分享go中关于Slice的使用注意事项的详细内容。更多信息请关注PHP中文网其他相关文章!