go语言给结构体定义方法,接口,实现接口中的所有方法,调用自定义方法
接口的定义
Golang中每个接口由数个方法组成,接口的定义格式如下:
type 接口名 interface {
方法名1(参数列表) 返回值列表
方法名2(参数列表) 返回值列表
}
给结构体定义方法
type Phone struct {
Name string
}
// 给Phone结构体定义一个start方法
func (p Phone) start() {
fmt.Println(p.Name + " 开始")
}
必须要实现接口中的所有方法
如果一个结构体要实现一个接口,那么它必须实现接口中的所有方法。
package main
import (
"fmt"
)
// 定义一个接口Usber,包含start和stop两个方法,接口是一个规范
type Usber interface {
start()
stop()
}
type Phone struct {
Name string
}
// 给Phone结构体定义一个start方法
func (p Phone) start() {
fmt.Println(p.Name + " 开始")
}
// 给Phone结构体定义一个stop方法
func (p Phone) stop() {
fmt.Println(p.Name + " 关机")
}
func main() {
// 实现化一个Phone结构体,实现Usber接口
// 手机要实现usb接口的话必须得实现usb接口中的所有方法
// 你现在把它转成接口,转成接口就没有办法调用自定义方法了
var p1 = Usber(Phone{"小米14"})
p1.start()
p1.stop()
}
调用自定义方法
package main
import (
"fmt"
)
// 定义一个接口Usber,包含start和stop两个方法,接口是一个规范
type Usber interface {
start()
stop()
}
type Phone struct {
Name string
}
// 给Phone结构体定义一个start方法
func (p Phone) start() {
fmt.Println(p.Name + " 开始")
}
// 给Phone结构体定义一个stop方法
func (p Phone) stop() {
fmt.Println(p.Name + " 关机")
}
func (p Phone) custom() {
fmt.Println(p.Name + " 自定义方法")
}
func main() {
c := Phone{Name: "小米14"}
c.custom() // 调用自定义方法
var c1 Usber = c // 转换为接口类型
c1.start() // 调用接口中的方法
c1.stop() // 调用接口中的方法
}
作者:流年少年
出处:https://www.cnblogs.com/ishoulgodo/
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
出处:https://www.cnblogs.com/ishoulgodo/
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
支付宝
微信
如果文中有什么错误,欢迎指出。以免更多的人被误导。

浙公网安备 33010602011771号