本文由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中文網其他相關文章!