Go 接口注意事项和细节(1) | 学习笔记

简介: 快速学习 Go 接口注意事项和细节(1)

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程Go 接口注意事项和细节(1)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/626/detail/9700


Go接口注意事项和细节(1)

 

一、接口(interface)注意事项和细节I

1) 接口本身不能创建实例,但是可以指向一个实现了该接口的自定义类型的变量(实例)

Function 主函数,类型是 interface

还是以此为例

代码如下:

//声明/定义一个接口

type Usb interface {//声明了两个没有实现的方法 start ()stop ()

//声明/定义一个接口

type Usb2 interface {

//声明了两个没有实现的方法 start ()Stop ()Test ()

package mainimport(

"fmt"

type AInterface interface

Say ()

C

func main ()

{

varIa AInterface

代码讲解:共有的代码分三部分,假设有个接口,有个 tap a 接口,intel,这个它的类型就是 interfaceA。然后假设有一个方法叫做 B,再来一个就写一个方法。所以不能去搞一个变量,写一个姓名叫 a,它的类型呢叫 B。实际上这个这个东西,必须有一个变量才行。所以一般来讲,接口本身不能创建实例,但是可以指向一个实现了该接口的自定义类型的变量

指向一个实现了该接口的自定义类型的变量

理解如下:举个例子

type AInterface interface{

Say ()

}

type stu struct {

Name string

}

func (stu Stu)Say(){

fmt. Print1n ("stu say () ")

var a AInterface = stu

a. Say ()

运行结果如下

image.png

运行结果不成立,调整结果如下,即可成立:

func (stu Stu)Say(){

fmt. Print1n ("stu say () ")

func main () {

var stu stu//结构体变量,实现了 Say ()

var a AInterface = stu

a. Say ()

运行结果如下

image.png

结果成立

2) 接口中所有的方法都没有方法体,即都是没有实现的方法。

3) 在 Golang 中,一个自定义类型需要将某个接口的所有方法都实现,我们说这个自定义类型实现了该接口。

4) 一个自定义类型只有实现了某个接口,才能将该自定义类型的实例(变量)赋给接口类型。

5) 只要是自定义数据类型,就可以实现接口,不仅仅是结构体类型。

打个比方

type integer int

func (1 integer) say()

{fmt. Println ("integer s1=", 1)

var i integer=10

var b AInterface 1b.say ()

// integer say 1=10

注意变化

因为 i 的变化,引起类型的变化

运行结果成立

image.png

相关文章
|
Go
Go 语言 errgroup 库的使用方式和实现原理
Go 语言 errgroup 库的使用方式和实现原理
181 0
|
JSON Go 数据格式
Go 语言怎么处理三方接口返回数据?
Go 语言怎么处理三方接口返回数据?
118 0
|
5月前
|
存储 自然语言处理 Go
详尽分享详解Go中的rune类型
详尽分享详解Go中的rune类型
54 0
|
Go
Go 1.18 新增三大功能之一“泛型”怎么使用?
Go 1.18 新增三大功能之一“泛型”怎么使用?
75 0
|
程序员 Go 索引
Go之流程控制大全: 细节、示例与最佳实践1
Go之流程控制大全: 细节、示例与最佳实践
117 0
|
Go 开发者 索引
Go之流程控制大全: 细节、示例与最佳实践2
Go之流程控制大全: 细节、示例与最佳实践2
80 0
|
存储 Go
下篇:一文玩转Go接口
下篇:一文玩转Go接口
|
运维 监控 Kubernetes
Go接口:运维开发场景中,go的接口到底怎么用?
Go接口:运维开发场景中,go的接口到底怎么用?
111 0
|
Go
Go | 函数的使用细节和注意事项
Go | 函数的使用细节和注意事项
137 0
Go | 函数的使用细节和注意事项
Go 编程 | 连载 19 - 接口的应用
Go 编程 | 连载 19 - 接口的应用
Go 编程 | 连载 19 - 接口的应用