go 的形参

注意

记录一个 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
}
posted @ 2022-12-12 01:14  沧海一声笑rush  阅读(52)  评论(0编辑  收藏  举报