Go语言

Go方法与接收者:让结构体拥有行为

Go方法与接收者:让结构体拥有行为 结构体解决的是“数据怎么组织”,方法解决的则是“数据能做什么”。Go 并没有传统面向对象语言里那种复杂的类体系,但它通过“方法 + 接收者”的方式,把行为自然地附着在数据类型上。 理解方法和接收者,是连接...

2019-11-20 8 分钟 Go语言, Go教程, 方法
Go语言

Go错误处理:error 接口、panic 与 recover

Go错误处理:error 接口、panic 与 recover 错误处理是 Go 非常有代表性的设计之一。很多刚开始接触 Go 的人,会觉得它“太啰嗦”,因为不像某些语言那样大量依赖异常机制,而是要求开发者显式判断 err。但只要你真正开始...

2019-11-17 9 分钟 Go语言, Go教程, 错误处理
Go语言

Go匿名函数、闭包与defer延迟调用

Go匿名函数、闭包与defer延迟调用 当你把基本函数用熟之后,接下来就会遇到一些更灵活的写法,比如匿名函数、闭包,以及 Go 非常有代表性的 defer。这些能力看上去像“进阶语法”,但在真实项目里却并不偏门。尤其是 defer,你几乎每...

2019-11-13 9 分钟 Go语言, Go教程, defer
Go语言

Go函数:定义、参数、返回值与可变参数

Go函数:定义、参数、返回值与可变参数 只会把逻辑从上往下写,还不算真正进入编程。函数的价值,在于把一段有明确职责的逻辑抽出来,让代码变得可复用、可组合、可测试。Go 在函数设计上延续了整门语言的风格:直白、清晰、强调职责边界。 你会很快发...

2019-11-10 8 分钟 函数, Go语言, Go教程
Go语言

Go结构体:自定义数据类型与字段组织

Go结构体:自定义数据类型与字段组织 学完基础类型、切片和 map 之后,你很快就会发现:真实项目里的数据很少只有一个值。用户、订单、配置、请求参数、响应体,往往都由多个字段组成。Go 中负责组织这类复合数据的核心结构,就是 struct。...

2019-11-06 8 分钟 结构体, Go语言, Go教程
Go语言

Go指针:从值传递到地址操作

Go指针:从值传递到地址操作 只要你继续往 Go 的结构体、方法和性能优化方向学习,就绕不开指针。很多人一提到指针就紧张,尤其是如果之前学 C 时被复杂用法劝退过,会自然把 Go 的指针也想得很难。但 Go 对指针做了明显收敛:它保留了“通...

2019-11-03 9 分钟 指针, Go语言, Go教程
Go语言

GoMap:键值对数据结构的使用与注意事项

GoMap:键值对数据结构的使用与注意事项 除了顺序结构,键值对也是后端开发里最常见的数据组织方式之一。配置项、JSON 字段、缓存数据、统计计数、路由参数……很多场景都离不开映射结构。Go 中的 map 正是用来解决这一类问题的。 但 m...

2019-10-30 9 分钟 Go语言, Go教程, Map
Go语言

Go数组与切片:理解顺序数据结构

Go数组与切片:理解顺序数据结构 顺序存储的数据结构,是日常开发里最常见的一类。Go 同时提供了数组和切片,但真正高频使用的往往是切片。很多刚接触 Go 的人会疑惑:既然切片这么常用,为什么还要保留数组? 答案就在于,数组和切片虽然相关,却...

2019-10-27 9 分钟 Go语言, Go教程, 数组与切片
Go语言

Go运算符与流程控制入门

Go运算符与流程控制入门 会定义变量之后,下一步就是让程序真正“动起来”。运算符负责数据计算,流程控制则决定程序接下来走哪条路径。这部分内容几乎所有语言都有,但 Go 在写法上有一些自己的习惯,例如只有 for 循环、if 不强制括号、sw...

2019-10-24 7 分钟 流程控制, Go语言, Go教程
Go语言

Go变量、常量与基础类型入门

Go变量、常量与基础类型入门 任何编程语言的学习,都绕不开变量和类型。Go 在这方面延续了它一贯的设计思路:规则明确、写法直接、能推断时就尽量少写,但不会为了“省事”牺牲可读性。 如果你之前学过 C、Java 或 Python,会发现 Go...

2019-10-22 8 分钟 Go语言, Go教程, 变量与类型