上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 59 下一页
摘要: 反射的类型对象(reflect.Type) 反射 是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。 支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可 阅读全文
posted @ 2022-06-07 14:06 左扬 阅读(784) 评论(0) 推荐(0)
摘要: 示例:工厂模式自动注册——管理多个包的结构体 本例利用包的 init 特性,将 cls1 和 cls2 两个包注册到工厂,使用字符串创建这两个注册好的结构实例。 代码1-1 类工厂(具体文件:../clsfactory/base/factory.go) package base //类接口 type 阅读全文
posted @ 2022-06-07 13:59 左扬 阅读(239) 评论(0) 推荐(0)
摘要: 导入包(import)——在代码中使用其他的代码 要引用的其他包的标识符,可以使用 import 关键字,导入的包名使用双引号包围,包名是从 GOPATH 开始计算的路径,使用 "/" 进行路径分隔。 1、默认导入的方法 导入有两种基本格式,即单行导入和多行导入,两种导入方法的导入代码效果是一致的。 阅读全文
posted @ 2022-06-07 13:28 左扬 阅读(683) 评论(0) 推荐(0)
摘要: 导出标识符——让外部访问包的类型和值 在 Go 语言中,如果想在一个包里引用另外一个包里的标识符(如 类型、变量、常量等)时,必须首先将被引用的标识符导出,将要导出的标识符的首字母大写就可以让引用者可以访问这些标识符了。 1、导出包内标识符 标识符首字母为小写,这些标识符可以在包内自由使用,但是包外 阅读全文
posted @ 2022-06-07 12:33 左扬 阅读(101) 评论(0) 推荐(0)
摘要: 创建包 package——编写自己的代码扩展 包(package)是多个 Go 源码的集合,是一种高级的代码复用方案,Go 语言默认为我们提供了很多包,如 fmt、os、io 包等,开发者可以根据自己的需要创建自己的包。 包要求在同一个目录下的所有文件的第一行添加如下代码,以标记该文件归属的包: p 阅读全文
posted @ 2022-06-07 12:26 左扬 阅读(378) 评论(0) 推荐(0)
摘要: 工作目录(GOPATH) Go 语言的源码复用建立在包(package)基础之上。Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想要引用别的代码,必须同样以包的方式进行引用。 Go 语言的包与文件夹一一对应,所有与包相关的操作,必须依赖于工作目录(GOPAT 阅读全文
posted @ 2022-06-07 12:12 左扬 阅读(1107) 评论(1) 推荐(1)
摘要: 示例:实现有限状态机(FSM) 有限状态机(Finite-State Machine,FSM),表示有限个状态及在这些状态间的转移和动作等行为的数学模型。 本例将实现状态接口、状态管理器及一系列的状态和使用状态的逻辑。 1、状态的概念 状态机中的状态与状态间能够自由转换。但是现实当中的状态却不一定能 阅读全文
posted @ 2022-06-05 23:48 左扬 阅读(443) 评论(0) 推荐(0)
摘要: 类型分支——批量判断空接口中变量的类型 Go 语言的 switch 不仅可以像其他语言一样实现数值、字符串的判断,还有一种特殊的用途——判断一个接口内保存或实现的类型。 1、类型断言的书写格式 switch 实现类型分支时的写法格式如下: switch 接口变量.(type) { case 类型1: 阅读全文
posted @ 2022-06-05 11:09 左扬 阅读(147) 评论(0) 推荐(0)
摘要: 示例:使用空接口实现可以保存任意值的字典 空接口可以保存任何类型这个特性可以方便地用于容器的设计。 下面例子使用 map 和 interface{} 实现了一个字典。字典在其他语言中的功能和 map 类似,可以将任意类型的值做成键值对保存,然后进行找回,遍历操作。 代码1-1 实现字典(/dict/ 阅读全文
posted @ 2022-06-04 22:47 左扬 阅读(340) 评论(0) 推荐(0)
摘要: 空接口类型(interface{})——能保存所有值的类型 空接口是接口类型的特殊形式,空接口没有任何方法,因此任何类型都无须实现空接口。 从实现的角度看,任何值都满足这个接口的需求。因此空接口类型可以保存任何值,也可以从空接口中取出原值。 提示: 空接口类型类似于 C# 或者 Java 语言中的 阅读全文
posted @ 2022-06-04 21:06 左扬 阅读(376) 评论(0) 推荐(0)
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 59 下一页