内容简介:什么是method(方法)?method是函数的另外一种形态,隶属于某个类型的方法。method的语法:func (r Receiver) funcName (parameters) (result)。receiver可以看作是method的第一个参数,method并且支持继承和重写。
什么是method(方法)?method是函数的另外一种形态,隶属于某个类型的方法。method的语法:func (r Receiver) funcName (parameters) (result)。receiver可以看作是method的第一个参数,method并且支持继承和重写。
/**
* 什么是method(方法)?method是函数的另外一种形态,隶属于某个类型的方法。
* method的语法:func (r Receiver) funcName (parameters) (result)。
* receiver可以看作是method的第一个参数,method并且支持继承和重写。
*/
package main
import (
"fmt"
)
type Human struct {
name string
age int
}
// 字段继承
type Student struct {
Human // 匿名字段
school string
}
type Employee struct {
Human // 匿名字段
company string
}
// 函数的另外一种形态:method,语法:func (r Receiver) funcName (parameters) (result)
// method当作struct的字段使用
// receiver可以看作是method的第一个参数,指针作为receiver(接收者)
// 指针作为receiver和普通类型作为receiver的区别是指针会对实例对象的内容发生操作,普通类型只是对副本进行操作
// method也可以继承,下面是一个匿名字段实现的method,包含这个匿名字段的struct也能调用这个method
func (h *Human) Info() {
// method里面可以访问receiver(接收者)的字段
fmt.Printf("I am %s, %d years old\n", h.name, h.age)
}
// method重写,重写匿名字段的method
// 虽然method的名字一样,但是receiver(接收者)不一样,那么method就不一样
func (s *Student) Info() {
fmt.Printf("I am %s, %d years old, I am a student at %s\n", s.name, s.age, s.school)
}
func (e *Employee) Info() {
fmt.Printf("I am %s, %d years old, I am a employee at %s\n", e.name, e.age, e.company)
}
func main() {
s1 := Student{Human{"Jack", 20}, "tsinghua"}
e1 := Employee{Human{"Lucy", 26}, "Google"}
// 调用method通过.访问,就像struct访问字段一样
s1.Info()
e1.Info()
}
以上所述就是小编给大家介绍的《Golang语言中的method是什么》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 计算机语言发展的三个阶段:机器语言、汇编语言与高级语言
- 凹 (“Wa”) 语言:可以嵌入 Go 语言环境的脚本语言
- Rust语言恰巧是一门解决了Go语言所有问题的语言
- 获取系统语言/当前 App支持语言
- 【Go 语言教程】Go 语言简介
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
微信公众号深度解析
魏艳 / 化学工业出版社 / 2017-5 / 49.80元
本书是一本微信公众号营销的教科书,全方位揭秘了微信订阅号、微信服务号、微信企业号三大类型账号的运营管理策略和技巧,有助于企业构建一套全新的微信公众号营销体系,打造一个移动端的商业帝国,是企业和微商必读的微信公众号营销和运营宝典。 《微信公众号深度解析:订阅号+服务号+企业号三号运营全攻略》突出了“新”、“全”、“实战”三大特点,阐述了微信公众号在新形势下的现状、发展趋势和三大类型;微信公众号......一起来看看 《微信公众号深度解析》 这本书的介绍吧!