- 目录 文章目录 目录Goroutine 的控制方式WaitGroupChannel + Select 通知Context ContextContext 的接口Context 的继承衍生使用 WithCancel 取消 Context使用 WithDeadline 取消 Context使用 WithTimeout 取消 Context使用 WithValue... 目录 文章目录 目录Goroutine 的控制方式WaitGroupChannel + Select 通知Context ContextContext 的接口Context 的继承衍生使用 WithCancel 取消 Context使用 WithDeadline 取消 Context使用 WithTimeout 取消 Context使用 WithValue...
- 目录 文章目录 目录条件判断if/else 语句switch 语句fallthrough 语句type-switch 语句 select(开关)语句 循环for 循环语句For-each range 循环语句 循环控制语句break 语句continue 语句goto 语句 条件判断 if/else 语句 示例: package... 目录 文章目录 目录条件判断if/else 语句switch 语句fallthrough 语句type-switch 语句 select(开关)语句 循环for 循环语句For-each range 循环语句 循环控制语句break 语句continue 语句goto 语句 条件判断 if/else 语句 示例: package...
- 目录 文章目录 目录encoding/json使用 json.Marshal() 函数对一组数据进行 JSON 格式的编码使用 json.Unmarshal() 函数对 JSON 数据进行解码 encoding/json Golang 提供了的标准库 encoding/json 对 JSON 数据进行编解码,并且允许使用 map[string]in... 目录 文章目录 目录encoding/json使用 json.Marshal() 函数对一组数据进行 JSON 格式的编码使用 json.Unmarshal() 函数对 JSON 数据进行解码 encoding/json Golang 提供了的标准库 encoding/json 对 JSON 数据进行编解码,并且允许使用 map[string]in...
- 目录 文章目录 目录切片len() 和 cap() 函数append() 和 copy() 函数空切片 切片 Golang 中,切片(Slice)的本质是长度不固定的、可以追加元素的特殊数组,所以切片也称为 “动态数组”。 注意,声明时切片不需要说明长度,否则会触发异常:cannot use numbers (type [9]int) as type... 目录 文章目录 目录切片len() 和 cap() 函数append() 和 copy() 函数空切片 切片 Golang 中,切片(Slice)的本质是长度不固定的、可以追加元素的特殊数组,所以切片也称为 “动态数组”。 注意,声明时切片不需要说明长度,否则会触发异常:cannot use numbers (type [9]int) as type...
- 目录 文章目录 目录前言gormigrate核心结构体实现分析版本定义InitSchemaMigration 版本记录(历史)版本升级和回退 前言 GORM v2gormigrate v2程序 Demo:https://github.com/JmilkFan/gormigrate-demo gormigrate GORM 本身提供了 AutoM... 目录 文章目录 目录前言gormigrate核心结构体实现分析版本定义InitSchemaMigration 版本记录(历史)版本升级和回退 前言 GORM v2gormigrate v2程序 Demo:https://github.com/JmilkFan/gormigrate-demo gormigrate GORM 本身提供了 AutoM...
- 目录 文章目录 目录delvedlv debugdlv execdlv attachdlv test调试指令 delve Golang 支持使用 GDB 来进行调试,这与 C 语言几乎是一致的。但 GDB 是一个通用性调试工具,不非常能直接地反映出 Golang 的特点,例如:goroutine 语句的调试。所以,推荐使用 delve(https:... 目录 文章目录 目录delvedlv debugdlv execdlv attachdlv test调试指令 delve Golang 支持使用 GDB 来进行调试,这与 C 语言几乎是一致的。但 GDB 是一个通用性调试工具,不非常能直接地反映出 Golang 的特点,例如:goroutine 语句的调试。所以,推荐使用 delve(https:...
- 目录 文章目录 目录ProfilingruntimeMemStatGCpproftrace Profiling Golang 提供了友好的工程化支持,其中之一就是 Profiling(分析)工具。例如:Golang 自带的 runtime 包,就可以轻松获取程序运行期间的各种内存或 CPU 的使用状态信息。 runtime MemStat... 目录 文章目录 目录ProfilingruntimeMemStatGCpproftrace Profiling Golang 提供了友好的工程化支持,其中之一就是 Profiling(分析)工具。例如:Golang 自带的 runtime 包,就可以轻松获取程序运行期间的各种内存或 CPU 的使用状态信息。 runtime MemStat...
- 目录 文章目录 目录指针空指针双重指针向函数传递指针参数 指针 一个指针变量指向了一个值的内存地址。类似于变量和常量,在使用指针前需要声明、定义一个指针变量。 声明一个指针变量,格式: var var_name *type 1 示例: var ip *int /* 声明整型指针变量 */ var fp *float32 /* 声明浮点型指针变量... 目录 文章目录 目录指针空指针双重指针向函数传递指针参数 指针 一个指针变量指向了一个值的内存地址。类似于变量和常量,在使用指针前需要声明、定义一个指针变量。 声明一个指针变量,格式: var var_name *type 1 示例: var ip *int /* 声明整型指针变量 */ var fp *float32 /* 声明浮点型指针变量...
- 目录 文章目录 目录作用域局部变量全局变量 变量的生命周期 作用域 作用域是已声明标识符所表示的常量、类型、变量、函数、或包在源代码中的作用范围(有效性范围)。 注意,声明了的局部变量必须被引用,否则会触发异常。全局变量则不需要,因为编译器会考虑该全局变量是否会在其他地方被引用。 局部变量 在函数体内声明的变量称之为局部变量,它们的作用域只在... 目录 文章目录 目录作用域局部变量全局变量 变量的生命周期 作用域 作用域是已声明标识符所表示的常量、类型、变量、函数、或包在源代码中的作用范围(有效性范围)。 注意,声明了的局部变量必须被引用,否则会触发异常。全局变量则不需要,因为编译器会考虑该全局变量是否会在其他地方被引用。 局部变量 在函数体内声明的变量称之为局部变量,它们的作用域只在...
- 目录 文章目录 目录defer,panic 和 recoverpanicrecover通过 panic + recover 来简化错误处理 defer,panic 和 recover Golang 中常规的错误处理方式是直接 return error 给调用者,再由调用者决定后续的程序逻辑,或捕获、或终止、或恢复。但对于一些无法恢复的错误,返回 err... 目录 文章目录 目录defer,panic 和 recoverpanicrecover通过 panic + recover 来简化错误处理 defer,panic 和 recover Golang 中常规的错误处理方式是直接 return error 给调用者,再由调用者决定后续的程序逻辑,或捕获、或终止、或恢复。但对于一些无法恢复的错误,返回 err...
- 目录 文章目录 目录Golang 的错误处理哲学为什么 Golang 不使用异常进行错误处理?错误处理错误处理策略建议 Golang 的错误处理哲学 首先需要注意的是,错误与异常有着本质的区别。 错误(Error):作为流程的一部分,被调用方显式返回,调用方主动处理。异常(Exception):预料之外出现或者在流程中不应该出现的错误。 Golan... 目录 文章目录 目录Golang 的错误处理哲学为什么 Golang 不使用异常进行错误处理?错误处理错误处理策略建议 Golang 的错误处理哲学 首先需要注意的是,错误与异常有着本质的区别。 错误(Error):作为流程的一部分,被调用方显式返回,调用方主动处理。异常(Exception):预料之外出现或者在流程中不应该出现的错误。 Golan...
- 目录 文章目录 目录结构体访问结构体成员向函数传递结构体结构体指针结构体标签(Struct Tag) 结构体 Golang 中,结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。与 C 语言中的结构体类似,区别在于 Golang 结构体的操作更加精简,方式更加单一。同时,Golang 中结构体变量也类似于 OOP 中对象的概念,可以具有对象的... 目录 文章目录 目录结构体访问结构体成员向函数传递结构体结构体指针结构体标签(Struct Tag) 结构体 Golang 中,结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。与 C 语言中的结构体类似,区别在于 Golang 结构体的操作更加精简,方式更加单一。同时,Golang 中结构体变量也类似于 OOP 中对象的概念,可以具有对象的...
- 目录 文章目录 目录前言实体完整性(主键约束)用户定义完整性(非空约束、唯一约束、检查约束和默认值)参照完整性(外键约束)关联关系一对一、一对多关联多对多关联示例 前言 本文基于 PostgreSQL 和 GORM 1.9 版本。GORM v2 对下文中的不足进行了优化。 全新的 Migrator:允许为关系创建数据库外键,更智能的 Aut... 目录 文章目录 目录前言实体完整性(主键约束)用户定义完整性(非空约束、唯一约束、检查约束和默认值)参照完整性(外键约束)关联关系一对一、一对多关联多对多关联示例 前言 本文基于 PostgreSQL 和 GORM 1.9 版本。GORM v2 对下文中的不足进行了优化。 全新的 Migrator:允许为关系创建数据库外键,更智能的 Aut...
- 目录 : 1. 安装 Golang 2. 配置环境 3. 创建工作目录 4. 编写第一个 Golang 程序 5. 参考文献 本篇文章主要总结下 Golong 的安装、环境配置以及编写第一个程序 HelloWorld.go。 1. 安装 Golang 本文所用系统环境:CentOS Linux release 8.0.1905 (Core) ... 目录 : 1. 安装 Golang 2. 配置环境 3. 创建工作目录 4. 编写第一个 Golang 程序 5. 参考文献 本篇文章主要总结下 Golong 的安装、环境配置以及编写第一个程序 HelloWorld.go。 1. 安装 Golang 本文所用系统环境:CentOS Linux release 8.0.1905 (Core) ...
- 目录 一、源码 二、原理 2.1 实例1 2.2 实例2 2.3 实例3 我们知道 Golang 切片(slice) 在容量不足的情况下会进行扩容,扩容的原理是怎样的呢?是不是每次扩一倍?下面我们结合源码来告诉你答案。 一、源码 Version : go1.15.6 src/runtime/slice.go //go1.15.6 ... 目录 一、源码 二、原理 2.1 实例1 2.2 实例2 2.3 实例3 我们知道 Golang 切片(slice) 在容量不足的情况下会进行扩容,扩容的原理是怎样的呢?是不是每次扩一倍?下面我们结合源码来告诉你答案。 一、源码 Version : go1.15.6 src/runtime/slice.go //go1.15.6 ...
上滑加载中
推荐直播
-
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中 -
华为云码道全新升级,多会话并行与多智能体协作2026/05/08 周五 19:00-21:00
王一男-华为云码道产品专家;张嘉冉-华为云码道工程师;胡琦-华为云HCDE;程诗杰-华为云HCDG
华为云码道4月份版本全新升级,此次直播深度解读4月份产品特性,通过“特性解读+实操演示+实战案例+设计创新”的组合,全方位展现码道在多会话并行与多智能体协作方面的能力,赋能开发者提升效率
正在直播
热门标签