摘要: 示例:使用匿名结构体分离 JSON 数据 手机拥有屏幕、电池、指纹识别等信息,将这些信息填充为 JSON 格式的数据。如果需要选择性地分离 JSON 中的数据则较为麻烦。Go 语言中的匿名结构体可以方便地完成这个操作。 代码1-1 JSON 数据分离(具体文件:.../splitejson.go) 阅读全文
posted @ 2022-05-30 23:35 左扬 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 类型内嵌和结构体内嵌 结构体允许其他成员字段在声明时没有字段名而只有类型,这种形式的字段被称为类型内嵌或匿名字段。 类型内嵌的写法如下: type Data struct{ int float32 bool } ins := &Data{ int: 10, float32: 3.14, bool: 阅读全文
posted @ 2022-05-30 23:11 左扬 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 示例:使用事件系统实现事件的响应和处理 Go 语言可以将类型的方法与普通函数视为一个概念,从而简化方法和函数混合作为回调类型时的复杂性。这个特性和 C# 中的代理(delegate)类似,调用者无须关心谁来支持调用,系统会自动处理是否调用普通函数或类型的方法。 本节中,首先将用简单的例子了解 Go 阅读全文
posted @ 2022-05-30 18:48 左扬 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 为类型添加方法 Go 语言可以对任何类型添加方法。给一种类型添加方法就像给结构体添加方法一样,因为结构体也是一种类型。 一、为基本类型添加方法 在 Go 语言中,使用 type 关键字可以定义出新的自定义类型。之后就可以为自定义类型添加各种方法。我们习惯于使用面向过程的方式判断一个值是否为0,例如: 阅读全文
posted @ 2022-05-30 15:59 左扬 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 示例:二维矢量模拟玩家移动 在游戏中,一般使用二维矢量保存玩家的位置。使用矢量运算可以计算出玩家移动的位置。本例子中,首先实现二维矢量对象,接着构造玩家对象,最后使用矢量对象和玩家对象共同模拟玩家移动的过程。 1、实现二维矢量结构 矢量是数学中的概念,二维矢量拥有两个方向的信息,同时可以进行加、减、 阅读全文
posted @ 2022-05-30 15:31 左扬 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 方法 Go 语言中的方法(Method)是一种作用于特定类型变量的函数。这种特定类型变量叫做接收器(Receiver)。 如果将特定类型理解为结构体或者"类"时,接收器的概念就类似于其他语言中的 this 或 self。 在 Go 语言中,接收器的类型可以是任何类型,不仅仅是结构体,任何类型都可以拥 阅读全文
posted @ 2022-05-30 12:01 左扬 阅读(336) 评论(0) 推荐(0) 编辑
levels of contents