在指针类型中,什么情况下必须要加*

来源:6-5 接口的组合

梦海千里渡

2020-12-03

  1. 在本节课中,r 不需要加 *
    	func (r *Retriever) Post(url string, form map[string]string) string {
    		//(*r)
    		r.Contents = form["contents"]
    		return "Y"
    	}
    
  2. Queue 中,q 在方法内部需要使用 *
    	func (q *Queue) Push(val int) {
    		*q = append(*q, val)
    	}
    
    	func (q *Queue) Pop() int {
    		head := (*q)[0]
    		*q = (*q)[1:]
    		return head
    	}
    

我想问一下,这种情况怎么区分

写回答

1回答

ccmouse

2020-12-06

这个不管方法内部或是外部,而是指针变量在使用"."的时候,可以不写成(*r)


1
5
ccmouse
回复
梦海千里渡
新的go体系工程师预计在3.1号预售,这里是提纲您可以先一睹为快 https://shimo.im/slides/y3YH3jyGgXV693rg 祝同学学有所获,事业有成。
2021-01-02
共5条回复

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程