注意
记录一个 go
语言编程中,可能不小心忽略的一个点,
-
当函数的
出参
如果是 数组、结构体、字典 类型时,是不需要声明的,可以直接使用。 -
但是如果
出参
是指针
类型,则必须要显示的声明。
代码示例
type person struct {
name string
}
func main() {
r := getList()
fmt.Println(r)
m := getMap()
fmt.Println(m)
p := getPerson()
fmt.Println(p)
// 会报错
pp := getPointer()
fmt.Println(pp)
}
func getList() (l []int) {
for i := 0; i < 10; i++ {
l = append(l, i)
}
return l
}
func getMap() (m map[int]int) {
for i := 0; i < 5; i++ {
m[i] = i
}
return m
}
func getPerson() (p person) {
p.name = "张三"
return p
}
func getPointer() (p *person) {
p.name = "张三"
return p
}
标签:return,形参,int,fmt,Println,func,go
From: https://www.cnblogs.com/rush-peng/p/16975077.html