本人接触go不久,遇到一个问题,还请解惑,通过网上搜索很多对反射的描述都是针对struct的,没怎么看到有针对slice的,希望能得到答案,谢谢
type User struct {
Id int
Name string
}
func ChangeSlice(s interface{}) {
user1 := User{
Id: 1,
Name: "张三",
}
newSlice := make([]User, 0)
newSlice = append(newSlice, user1)
// 这样写是不对的,这里不知道该怎么写了
s = &newSlice
}
func main() {
var users []User
ChangeSlice(&users)
// 这里希望让Users指向ChangeSlice函数中的那个新数组
fmt.Println(users) // 希望输出[{1 张三}],但是现在输出[]
}
有疑问加站长微信联系(非本文作者)

非常感谢,你的代码没有问题,确实可行!可能是我没有表述清楚,实际上我是想通过反射的方式,而不是断言! 通过搜索,我找到了一个解决方案
感谢回复!!