- 目录 文章目录 目录前言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 ...
- @Author:Runsen 最近在从 Java/python 语言转型到 go 语言,本文是Go 基础系列的文章,不会刻意追求面面俱到,但该有知识点都会覆盖。 下面我们就来简单的看看 go 语言里的这些语法吧。 文章目录 变量基本类型常量 变量 Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。其实这就是Python,Java编码... @Author:Runsen 最近在从 Java/python 语言转型到 go 语言,本文是Go 基础系列的文章,不会刻意追求面面俱到,但该有知识点都会覆盖。 下面我们就来简单的看看 go 语言里的这些语法吧。 文章目录 变量基本类型常量 变量 Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。其实这就是Python,Java编码...
- @Author:Runsen 学习过Java,大家或多或少了解接口。接口是一种类型,它指定一个方法集,所有方法为接口类型就被认为是该接口。 文章目录 接口接口内部实现指针方法值方法空接口 接口 在Go语言中,一个接口类型总是代表着某一种类型(即所有实现它的类型)的行为。一个接口类型的声明通常会包含关键字type、类型名称、关键字interface以及由... @Author:Runsen 学习过Java,大家或多或少了解接口。接口是一种类型,它指定一个方法集,所有方法为接口类型就被认为是该接口。 文章目录 接口接口内部实现指针方法值方法空接口 接口 在Go语言中,一个接口类型总是代表着某一种类型(即所有实现它的类型)的行为。一个接口类型的声明通常会包含关键字type、类型名称、关键字interface以及由...
- @Author:Runsen 复合数据类型主要包含Go中的一些复杂类型,主要有指针类型,数组类型,切片类型,结构体类型,Map类型和Channel类型 文章目录 指针数组切片 指针 相信大家都在在C语言听过指针。首先指针是一个变量,全名叫做指针变量,只不过这个变量里面存储的值是一个地址而已。所以指针,哪怕是空指针,都是有地址的,因为变量都是有地址的。... @Author:Runsen 复合数据类型主要包含Go中的一些复杂类型,主要有指针类型,数组类型,切片类型,结构体类型,Map类型和Channel类型 文章目录 指针数组切片 指针 相信大家都在在C语言听过指针。首先指针是一个变量,全名叫做指针变量,只不过这个变量里面存储的值是一个地址而已。所以指针,哪怕是空指针,都是有地址的,因为变量都是有地址的。...
- ROS2GO之TurtleBot学习与使用资料 TurtleBot2最佳环境为indigo或kinetic,TurtleBot3最佳环境为kinetic或melodic。 ROS2GO-Kinetic版本已经配置完全,这里不在细说,直接使用官网教程学习即可。 ROS2GO-Melodic版本功能包安装无法使用,使用源码编译即... ROS2GO之TurtleBot学习与使用资料 TurtleBot2最佳环境为indigo或kinetic,TurtleBot3最佳环境为kinetic或melodic。 ROS2GO-Kinetic版本已经配置完全,这里不在细说,直接使用官网教程学习即可。 ROS2GO-Melodic版本功能包安装无法使用,使用源码编译即...
上滑加载中
推荐直播
-
香橙派AIpro的远程推理框架与实验案例
2025/07/04 周五 19:00-20:00
郝家胜 -华为开发者布道师-高校教师
AiR推理框架创新采用将模型推理与模型应用相分离的机制,把香橙派封装为AI推理黑盒服务,构建了分布式远程推理框架,并提供多种输入模态、多种输出方式以及多线程支持的高度复用框架,解决了开发板环境配置复杂上手困难、缺乏可视化体验和资源稀缺课程受限等痛点问题,真正做到开箱即用,并支持多种笔记本电脑环境、多种不同编程语言,10行代码即可体验图像分割迁移案例。
回顾中 -
鸿蒙端云一体化应用开发
2025/07/10 周四 19:00-20:00
倪红军 华为开发者布道师-高校教师
基于鸿蒙平台终端设备的应用场景越来越多、使用范围越来越广。本课程以云数据库服务为例,介绍云侧项目应用的创建、新建对象类型、新增存储区及向对象类型中添加数据对象的方法,端侧(HarmonyOS平台)一体化工程项目的创建、云数据资源的关联方法及对云侧数据的增删改查等操作方法,为开发端云一体化应用打下坚实基础。
即将直播
热门标签