golang apis.V2的Crud方法接口设计
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang apis.V2的Crud方法接口设计相关的知识,希望对你有一定的参考价值。
Golang入门到项目实战 | golang接口
接口像是一个公司里面的领导,他会定义一些通用规范,只设计规范,而不实现规范。
go语言的接口,是一种新的类型定义,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。
语法格式和方法非常类似。
接口的语法格式
/* 定义接口 */
type interface_name interface
method_name1 [return_type]
method_name2 [return_type]
method_name3 [return_type]
...
method_namen [return_type]
/* 定义结构体 */
type struct_name struct
/* variables */
/* 实现接口方法 */
func (struct_name_variable struct_name) method_name() [return_type]
/* 方法实现 */
...
/* 实现接口方法 */
func (struct_name_variable struct_name) method_name() [return_type]
/* 方法实现 */
在接口定义中定义,若干个空方法。这些方法都具有通用性。
接口实例
下面我定义一个USB接口,有读read和写write两个方法,再定义一个电脑Computer和一个手机Mobile来实现这个接口。
USB接口
type USB interface
read()
write()
Computer结构体
type Computer struct
Mobile结构体
type Mobile struct
Computer实现USB接口方法
func (c Computer) read()
fmt.Println("computer read...")
func (c Computer) write()
fmt.Println("computer write...")
Mobile实现USB接口方法
func (c Mobile) read()
fmt.Println("mobile read...")
func (c Mobile) write()
fmt.Println("mobile write...")
测试
package main
import "fmt"
type USB interface
read()
write()
type Computer struct
type Mobile struct
func (c Computer) read()
fmt.Println("computer read...")
func (c Computer) write()
fmt.Println("computer write...")
func (c Mobile) read()
fmt.Println("mobile read...")
func (c Mobile) write()
fmt.Println("mobile write...")
func main()
c := Computer
m := Mobile
c.read()
c.write()
m.read()
m.write()
运行结果
[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\test.go"
computer read...
computer write...
mobile read...
mobile write...
实现接口必须实现接口中的所有方法
下面我们定义一个OpenClose接口,里面有两个方法open和close,定义个Door结构体,实现其中一个方法。
package main
import "fmt"
type OpenClose interface
open()
close()
type Door struct
func (d Door) open()
fmt.Println("open door...")
func main()
var oc OpenClose
oc = Door // 这里编译错误,提示只实现了一个接口
以上是关于golang apis.V2的Crud方法接口设计的主要内容,如果未能解决你的问题,请参考以下文章
Golang 接口定义实现(eface iface)和设计模式
Golang 接口定义实现(eface iface)和设计模式
Golang 基础:接口使用实现原理(eface iface)和设计模式