上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 53 下一页
摘要: 示例:实现有限状态机(FSM) 有限状态机(Finite-State Machine,FSM),表示有限个状态及在这些状态间的转移和动作等行为的数学模型。 本例将实现状态接口、状态管理器及一系列的状态和使用状态的逻辑。 1、状态的概念 状态机中的状态与状态间能够自由转换。但是现实当中的状态却不一定能 阅读全文
posted @ 2022-06-05 23:48 左扬 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 类型分支——批量判断空接口中变量的类型 Go 语言的 switch 不仅可以像其他语言一样实现数值、字符串的判断,还有一种特殊的用途——判断一个接口内保存或实现的类型。 1、类型断言的书写格式 switch 实现类型分支时的写法格式如下: switch 接口变量.(type) { case 类型1: 阅读全文
posted @ 2022-06-05 11:09 左扬 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 示例:使用空接口实现可以保存任意值的字典 空接口可以保存任何类型这个特性可以方便地用于容器的设计。 下面例子使用 map 和 interface{} 实现了一个字典。字典在其他语言中的功能和 map 类似,可以将任意类型的值做成键值对保存,然后进行找回,遍历操作。 代码1-1 实现字典(/dict/ 阅读全文
posted @ 2022-06-04 22:47 左扬 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 空接口类型(interface{})——能保存所有值的类型 空接口是接口类型的特殊形式,空接口没有任何方法,因此任何类型都无须实现空接口。 从实现的角度看,任何值都满足这个接口的需求。因此空接口类型可以保存任何值,也可以从空接口中取出原值。 提示: 空接口类型类似于 C# 或者 Java 语言中的 阅读全文
posted @ 2022-06-04 21:06 左扬 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 在接口和类型间转换 Go 语言中使用的接口断言(type assertions)将接口转换成另外一个接口,也可以将接口转换为另外的类型。接口的转换在开发中非常常见,使用也非常频繁。 1、类型断言的格式 类型断言的基本格式如下: t := i.(T) i 代表接口变量。 T 代表转换的目标类型。 t 阅读全文
posted @ 2022-06-04 20:02 左扬 阅读(880) 评论(0) 推荐(0) 编辑
摘要: 接口的嵌套组合——将多个接口放在一个接口内 在 Go 语言中,不仅结构体与结构体之间可以嵌套,接口与接口之间也可以通过嵌套创造出新的接口。 接口与接口嵌套组合而成了新接口,只要接口的所有方法被实现,则这个接口中的所有嵌套接口的方法均可以被调用。 1、系统包中的接口嵌套组合 Go 语言中的 io 包中 阅读全文
posted @ 2022-06-04 19:53 左扬 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 示例:使用接口进行数据的排序 排序是常见的算法之一,也是常见的面试题之一,程序员对各种排序算法也是津津乐道。 实际使用中,语言的类库会为我们提供健壮、高性能的排序算法库,开发者在了解排序算法基本原理的基础上,应该避免 “造轮子”,直接使用已有的排序算法库,以缩短开发周期,提高开发效率。 Go 语言中 阅读全文
posted @ 2022-06-04 16:57 左扬 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 示例:便于扩展输出方式的日志系统 日志可以用于查看和分析应用程序的运行状态。日志一般可以支持输出多种形式,如命令行、文件、网络等。 1、日志对外接口 本例中定义一个日志写入器接口(LogWriter),要求写入设备必须遵守这个接口协议才能被日志器(Logger)注册。日志器有一个写入器的注册方法(L 阅读全文
posted @ 2022-06-04 00:58 左扬 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 理解类型与接口的关系 类型和接口之间有一对多和多对一的关系,下面将列举出这些常见的概念,以方便理解接口与类型在复杂环境下的实现关系。 一、一个类型可以实现多个接口 一个类型可以同时实现多个接口,而接口间彼此独立,不知道对方的实现。 网络上的两个程序通过一个双向的通信连接实现数据的交换,连接的一端称为 阅读全文
posted @ 2022-05-31 18:47 左扬 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 实现接口的条件 接口定义后,需要实现接口,调用方才能正确编译通过并使用接口。接口的实现需要遵循两条规则才能让接口可用。 一、接口被实现的条件一:接口的方法与实现接口的类型方法格式一致 在类型中添加与接口签名一致的方法就可以实现该方法。签名包括方法中的名称、参数列表、返回参数列表。也就是说,只要实现接 阅读全文
posted @ 2022-05-31 17:06 左扬 阅读(298) 评论(0) 推荐(0) 编辑
上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 53 下一页
levels of contents