golang函数和方法的区别

网友投稿 241 2022-08-23

golang函数和方法的区别

【1】绑定指定类型: 方法:需要绑定指定数据类型 函数:不需要绑定数据类型

【2】调用方式不一样: 函数的调用方式: ​​​函数名(实参列表)​​​ 方法的调用方式:​​变量.方法名(实参列表)​​

package mainimport "fmt"type Student struct{ Name string}//定义方法:func (s Student) test01(){ fmt.Println(s.Name)}//定义函数:func method01(s Student){ fmt.Println(s.Name)}func main(){ //调用函数: var s Student = Student{"丽丽"} method01(s) //方法调用: s.test01()}

【3】对于函数来说,参数类型对应是什么就要传入什么。

package mainimport "fmt"type Student struct{ Name string}//定义函数:func method01(s Student){ fmt.Println(s.Name)}func method02(s *Student){ fmt.Println((*s).Name)}func main(){ var s Student = Student{"丽丽"} method01(s) //method01(&s)错误 method02(&s) //method02(s)错误}

【4】对于方法来说,接收者为值类型,可以传入指针类型,接受者为指针类型,可以传入值类型。

package mainimport "fmt"type Student struct{ Name string}//定义方法:func (s Student) test01(){ fmt.Println(s.Name)}func (s *Student) test02(){ fmt.Println((*s).Name)}func main(){ var s Student = Student{"丽丽"} s.test01() (&s).test01()//虽然用指针类型调用,但是传递还是按照值传递的形式 (&s).test02() s.test02()//等价}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:奥迪和刘德华涉“抄袭门”事件:数字营销时代下,4A“没戏唱”了?
下一篇:Linux如何查找域名IP地址
相关文章

 发表评论

暂时没有评论,来抢沙发吧~