猿问

如何通过引用返回切片?

按引用返回的切片为空:


package main


import "fmt"


func GetItems(items *[]string) {

    list := make([]string, 0)

    list = append(list, "ok")

    items = &list

}


func main() {

    var items []string

    GetItems(&items)

    fmt.Print(len(items)) // expect 1 here, but got 0

}

如何通过引用从函数中返回切片?


www说
浏览 149回答 1
1回答

蝴蝶刀刀

通过分配 to items,您可以更改items指向的位置,而不是值items指向的位置。做后者,而不是items = &list写*items = list。
随时随地看视频慕课网APP

相关分类

Go
我要回答