golang中的pair
2024-09-04 01:58:28
package main import "fmt" type Reader interface {
ReadBook()
}
type Writer interface {
WriteBook()
} // 具体类型
type Book struct {}
func (b *Book) ReadBook() {
fmt.Println("Read a Book")
}
func (b *Book) WriteBook() {
fmt.Println("Write a Book")
} func main() {
// b: pair<type:Book, value:book{}地址>
b := &Book{} // r: pair<type:, value:>
var r Reader
// r: pair<type:Book, value:book{}地址>
r = b r.ReadBook() // w: pair<type:, value:>
var w Writer
// w: pair<type:Book, value:book{}地址>
// 此处的断言为什么会成功?因为w r 具体的type是一致的,所以会断言成功
w = r.(Writer) w.WriteBook() }
最新文章
- js中奇特的for循环写法
- mysql复制表结构及检查表、存储过程是否存在
- node.js报错总结
- ahjesus mongodb指定到数据盘连接不上的解决方案
- Google Code Jam 2010 Round 1B Problem B. Picking Up Chicks
- droidbox官网
- wpa_supplicant是什么?
- Android之最简单的ImageView加边框方法
- 在linux下实现UBOOT的TFTP下载功能
- 异步操作AsycnTask类
- Spark源码分析之Spark Shell(上)
- less补充函数
- shell脚本之流程控制
- [Swift]LeetCode405. 数字转换为十六进制数 | Convert a Number to Hexadecimal
- 爱奇艺、伤酷、乐视 vip 解析视频网站
- 简单JAVA爬虫51Jobs
- (原创)odoo关系字段在视图中的行为控制 总结
- iOS:使用莱文斯坦距离算法计算两串字符串的相似度
- url传输编码
- React Native多语言
热门文章
- IDEA把Main方法打包成jar包
- JAVA通过正则匹配html里面body标签的内容,去掉body标签
- Spring Boot整合Thymeleaf及Thymeleaf页面基本语法
- 【LeetCode】888. Fair Candy Swap 公平的糖果棒交换(Python)
- 【LeetCode】789. Escape The Ghosts 解题报告(Python & C++)
- HDU 4355:Party All the Time(三分模板)
- Adversarial Self-Supervised Contrastive Learning
- maven dependency全局排除
- Zookeeper使用超级用户删除带权限的节点
- Rainbond 对接 Istio 原理讲解和代码实现分析