- 目录 文章目录 目录安装 Golang下载地址CentOS 环境MAC pro 环境 Go proxyGOPATH 环境变量 安装 Golang 下载地址 https://golang.org/dl/https://golang.google.cn/dl/ CentOS 环境 如果对版本没有特殊要求的话,建议直接 YUM 安装: yum u... 目录 文章目录 目录安装 Golang下载地址CentOS 环境MAC pro 环境 Go proxyGOPATH 环境变量 安装 Golang 下载地址 https://golang.org/dl/https://golang.google.cn/dl/ CentOS 环境 如果对版本没有特殊要求的话,建议直接 YUM 安装: yum u...
- 目录 文章目录 目录参考工程化要求编码规范大小约定缩进、括号和空格约定命名规范包、目录命名规范文件命名规范标识符命名规范变量、常量名函数、方法名结构体、接口名 空行、注释、文档规范空行注释与文档注释风格包注释函数、方法注释结构体、接口注释其它说明 导入规范 代码逻辑实现规范变量、常量定义规范String 类型定义规范Slice、Map 类型定义规范结构... 目录 文章目录 目录参考工程化要求编码规范大小约定缩进、括号和空格约定命名规范包、目录命名规范文件命名规范标识符命名规范变量、常量名函数、方法名结构体、接口名 空行、注释、文档规范空行注释与文档注释风格包注释函数、方法注释结构体、接口注释其它说明 导入规范 代码逻辑实现规范变量、常量定义规范String 类型定义规范Slice、Map 类型定义规范结构...
- 目录 文章目录 目录前言AutoMigrate示例 Migrator 接口(DDL 操作方法)表操作列操作约束操作索引操作 数据库版本控制参考文档 前言 本文示例为 GORM V2.0 版本。 AutoMigrate GORM 的 AutoMigrate() 方法用于自动迁移 ORM 的 Schemas。所谓 “迁移” 就是刷新数据库中的表... 目录 文章目录 目录前言AutoMigrate示例 Migrator 接口(DDL 操作方法)表操作列操作约束操作索引操作 数据库版本控制参考文档 前言 本文示例为 GORM V2.0 版本。 AutoMigrate GORM 的 AutoMigrate() 方法用于自动迁移 ORM 的 Schemas。所谓 “迁移” 就是刷新数据库中的表...
- 目录 文章目录 目录Channel通道缓冲区遍历通道与关闭通道 Channel channel(通道)是用来传递数据的一个数据结构。 通道可用于两个 goroutine 之间通过传递一个指定类型的数值,以此来同步运行及通讯。操作符 <- 用于指定通道的方向,根据位置的不同表示发送或接收。如果未指定方向,则为双向通道。 ch <- v... 目录 文章目录 目录Channel通道缓冲区遍历通道与关闭通道 Channel channel(通道)是用来传递数据的一个数据结构。 通道可用于两个 goroutine 之间通过传递一个指定类型的数值,以此来同步运行及通讯。操作符 <- 用于指定通道的方向,根据位置的不同表示发送或接收。如果未指定方向,则为双向通道。 ch <- v...
- 目录 文章目录 目录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...
上滑加载中
推荐直播
-
中科院软件研究所副所长武延军:浅谈开源操作系统的生态建设 | 生态大讲堂系列.第5讲2025/10/21 周二 17:00-18:00
中科院软件研究所副所长武延军
10月21日17:00,特邀中科院软件所副所长武延军将在本次直播中,探讨开源软件生态的痛点与解题之道。
回顾中 -
DeepSeek-R1 RL训练优化实践分享2025/10/30 周四 16:00-17:00
议题一:张昊卓(大模型性能优化专家)议题二:许虞俊/位金弈(大模型性能优化专家)
本次直播讲带大家一起探索cann-recipes-train 开源仓库介绍与DeepSeek-R1 RL训练优化实践分享
回顾中 -
仓颉编程语言入门级开发者认证——考试辅导2025/10/31 周五 16:00-17:30
leo 云学堂技术讲师
本期直播将体系化梳理仓颉编程语言入门级开发者认证课程,清晰解读其发展历程、核心概念与典型应用场景,并提供通关指南,助您全面掌握认证考核要点与学习路径。
回顾中
热门标签