面向接口编程 1. 接口的基本概念1.1 接口的定义1234567// 接口是一组行为的集合// 接口是一组行为规范的集合type Transporter interface { // 通常以er结尾 // 接口里面只定义方法,不定义变量 move(src string, dst string) (int, error) // 参数列表和返回值列表里面的变量名可以省略 whistle(int) int 2023-03-08 Go系列 一. 基础技能 golang
函数基础的基础 1. 函数的基本形式1.1 形参与实参1234567// a,b是形参,函数内部的局部变量,实参的值会拷贝给形参,修改形参不会改变实参的值// 在形参类型相同时 可以只写一次 如:func add(a,b int) c{}// 实参 则为调用该函数时传递的参数func add(a int, b int) int { c := a + b return c} 2023-03-07 Go系列 一. 基础技能 golang
流程控控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。 1. 分支结构if条件判断的格式如下: 1234567if 表达式1 { 分支1} else if 表达式2 { 分支2} 2023-03-06 Go系列 一. 基础技能 golang
面对对象之结构体 1. 结构体定义基础数据类型可以表示事务的基本属性,通过定义结构体可以封装多个基本数据类型,可以表达该事物的部分或者全部属性了。 使用type和struct关键字来定义结构体,具体代码格式如下: 123456789101112type 类型名 struct { 字段名 字段类型 字段名 字段类型 字段名,字段名2 字段类型 …}/*其中: - 类型名: 2023-03-05 Go系列 一. 基础技能 golang
基本数据类型 1. 基本数据类型1.1 整型整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64。其中,uint8就是我们熟知的byte型。 类型 描述 uint8 无符号 8位整型 (0 到 255) uint16 无符号 16位整型 (0 到 65535) uint32 无符号 32位整型 2023-03-04 Go系列 一. 基础技能 golang
运算符 1. 算术运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 取余 2. 逻辑运算符 运算符 描述 && 逻辑 AND 运算符。 如果两边的操作数都是 True,则为 True,否则为 False。 ! 逻辑 NOT 运算符。 如果条件为 True,则为 False,否则为 True。 3. 位运算位运 2023-03-04 Go系列 一. 基础技能 golang
常量与变量 1. 变量的声明1234567891011// 标准声明var 变量名 变量类型// 批量声明var ( a string b int c bool d float32) 2. 变量的初始化Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0。 字符串变量的默认值为空字符串。 布尔型变 2023-03-04 Go系列 一. 基础技能 golang
自定义数据类型 当我们需要存储JSON格式或者数组类型的数据时,数据库并不能直接支持,此时需要自定义数据类型。自定义数据类型必须实现Scanner和lValuer两个接口,以便让gorm知道如何将该数据类型接收、保存到数据库中。 1. 存储JSON格式需要定义一个机构体,在入库的时候,把他转换为[]byte类型;在出库的时候,转化为结构体。 123456789101112131415161718192021222 2023-02-26 Go系列 二. 数据库操作 gorm
多对多关系表 多对多关系,需要用第三张表来存储两张表的关系 1. 表结构的搭建此处采用文章与标签的关系进行演示。 123456789101112type Tag struct { ID uint Name string Articles []Article `gorm:"many2many:article_tags;"` // 用于反向引用}type 2023-02-26 Go系列 二. 数据库操作 gorm
一对一关系表 一对一的关系比较少,一般用于表的扩展;把常用的字段放在主表,不常用的字段放在详细表里面。 创建相关表与数据信息,如下: 12345678910111213141516type User struct { ID uint Name string Age int UserInfo *UserInfo}type UserInfo struct { 2023-02-26 Go系列 二. 数据库操作 gorm