go語言中[]*int和*[]int的具體使用
[]*int是一個指向指針的切片,本質(zhì)上是切片,只不過切片里面存放的元素是指針;
*[]int是一個指向切片的指針,本質(zhì)上是指針,可以用*來獲取切片;
簡易記法:從右往左讀,最后一個符號是[],說明是切片,倒數(shù)第二個符號是*說明切片里是指針;從右往左讀,最后一個符號是*,說明是指針,倒數(shù)第二個符號是[]說明指針指向一個切片類型。
對于[]*int,可以使用for _, ptr := range slice獲得切片里面的指針,并通過*ptr得到切片里的元素(本質(zhì)上是指針/地址)對應的值。
對于*[]int,可以使用*slice獲得整個切片。
[]*int
func main() {
var a = 1
var b = 2
var slice []*int
slice = append(slice, &a)
slice = append(slice, &b)
for _, ptr := range slice {
fmt.Print(*ptr, " ")
}
}
輸出:1 2
*[]int
func main() {
var a = 1
var b = 2
var slice *[]int
arr := []int{a, b}
slice = &arr
fmt.Println(*slice)
}
輸出:[1 2]
到此這篇關于go語言中[]*int和*[]int的具體使用的文章就介紹到這了,更多相關go語言 []*int和*[]int內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
GO語言中創(chuàng)建切片的三種實現(xiàn)方式
這篇文章主要介紹了GO語言中創(chuàng)建切片的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09