当前位置: 首页> 游戏> 手游 > 网页版qq怎么登陆_网页翻译在哪_目前最好的营销模式_什么是sem

网页版qq怎么登陆_网页翻译在哪_目前最好的营销模式_什么是sem

时间:2025/7/11 3:02:42来源:https://blog.csdn.net/u012941592/article/details/146349925 浏览次数:2次
网页版qq怎么登陆_网页翻译在哪_目前最好的营销模式_什么是sem

1.简介

  1. 在go中的接口是以一种类型,一种抽象的类型。接口(interface)是一组函数method的集合,go中的接口不能包含任何变量。
  2. 在go中接口中的所有方法都没有方法体,接口定义了一个对象的行为规范,只定义规范不实现。接口体现了程序的多态和高内聚低耦合的思想。
  3. go中的接口也是一种数据类型,不需要显示实现,只需要一个变量含有接口类型中的所有方法,那么这个变量就实现了这个接口。

2.接口的定义 

interface类型可以定义一组方法,但是这些不需要实现。并且interface不能包含任何变量。到某个自定义类型要使用的时候,再根据具体情况把这些方法写出来(实现)。

type 接口名 interface {

method1(参数...)返回值列表

method2(参数...)返回值列表

}

实现:

func (t 自定义类型) method1(参数...)返回值列表{

//方法体

}

func (t 自定义类型) method2(参数...)返回值列表{

//方法体

}

其中:

  • 接口名:使用type将接口定义为自定义类型名,go语言的接口在命名时,一般会在单词后面添加er,如有写操作的接口writer,有字符串功能的接口叫Stringer等。接口名最好能突出该接口的类型含义。
  • method:当方法名首字母是大写且这个接口名首字母也是大写,这个方法可以被接口所在的包(package)之外的代码访问。
  • 参数和返回值列表:参数和返回值列表中的参数名可以省略。

3.快速入门

定义一个Usber接口让Phone和Camera结构体实现这个接口。

package mainimport "fmt"// 定义一个接口
type Usber interface {//声明了两个没有实现的方法start()stop()
}type Phone struct {
}// 手机要实现usb接口的化必须得实现usb接口中的所有方法
func (p Phone) start() {fmt.Println("手机开始工作了")
}
func (p Phone) stop() {fmt.Println("手机停止工作了")
}type Camera struct {
}// 照相机要实现usb接口的化必须得实现usb接口中的所有方法func (p Camera) start() {fmt.Println("照相机开始工作了")
}
func (p Camera) stop() {fmt.Println("照相机停止工作了")
}type Computer struct {
}// 编写一个方法Working,接口一个Usber接口类型的变量
// 只要实现了Usber接口,
func (c Computer) Working(usb Usber) {//通过usb接口变量来调用start和stop方法usb.start()usb.stop()
}func main() {var c *Computer = &Computer{}var u Usberu = &Phone{}c.Working(u) //相当于 手机调用了start()和stop()  u = Camera{}c.Working(u) //相当于 照相机调用了start()和stop()  }

结果:

关键字:网页版qq怎么登陆_网页翻译在哪_目前最好的营销模式_什么是sem

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: