打印出来的类型和值都是一样的,如下:
但为什么结果不同?
补充一下: list获取的函数如下:
第一段代码里面的 list 跟最后一段代码 toList() 方法之间的关系不明确,不太好回答。
从结果看:
//json encode 之后成了 null ,说明原值是 null
data["actions"] = list
x := []string{}
//等效于
var x = make([]string, 1)
x[0] = ""
//所以下列代码中 actionss json encode 之后是 []
data["actionss"] = []string{}
//只进行了声明,而没有初始化
var list []string
//进行声明并初始化
list := []string{}
//等同于
list := make([]string, 0)
4 回答968 阅读
2 回答617 阅读
2 回答497 阅读
输出:
两种不同的初始化方式引起的额,由此可知函数返回值和var方式都是“声明”,而不是“定义”。