go 接口
来源:互联网 发布:淘宝产品参数 编辑:程序博客网 时间:2024/06/06 09:14
go自学第二天,留个笔记,万一以后忘了呢
package mainimport "fmt"type I interface{ get() int set(int)}//S实现了I接口type S struct{ value int }//S在这里叫接受者func (s S) get() int{ return s.value}func (s *S) set(x int){ s.value = x }//这里我们可以通过接口I来传入实现I接口的各种类型(比如上面的S)func myTest(i I){ fmt.Printf("value=%d\n", i.get()) i.set(100) fmt.Printf("value=%d\n", i.get())}func main(){ s := &S{} myTest(s)//这里有两个规则要说一下}
1.类型 *T 的可调用方法集包含接受者为 *T 或 T 的所有方法集
这条规则说的是如果我们用来调用特定接口方法的接口变量是一个指针类型,那么方法的接受者可以是值类型也可以是指针类型。
2.类型 T 的可调用方法集包含接受者为 T 的所有方法
这条规则说的是如果我们用来调用特定接口方法的接口变量是一个值类型,那么方法的接受者必须也是值类型该方法才可以被调用。
可以变换接受者的值类型和调用时传入类型测试以下。
阅读全文
0 0
- Go接口
- Go 接口
- go 接口
- go 接口
- go 接口
- Go接口
- Go 接口
- Go接口 空接口
- go语言接口使用
- go - interface 接口
- go语言接口使用
- Go接口2
- go的接口实现
- Go 方法、接口
- go 容器与接口
- Go语言的接口
- Go 语言接口
- go接口扩展注意事项
- 【Jquery学习】第六部分
- 日志库EasyLogging++学习系列(7)—— 记录方式详解
- validator手机验证
- java日志文件log4j.properties配置详解
- Android控件架构
- go 接口
- Dalvik与ART的介绍及区别(一)
- 日志库EasyLogging++学习系列(8)—— Verbose日志详解
- dubbo通信协议之对比
- 2015级+ 计算机3班+张毅+海马汽车经销商管理系统项目实训技术总结
- Java8中的函数式接口及使用
- iOS 得到当前设备的IP地址
- STM32堆和栈(Heap & Stack)的资料理解
- Android Studio 开发中遇到的bug