摘要:
下载安装: wget https://download.redis.io/releases/redis-6.0.10.tar.gz tar xzf redis-6.0.10.tar.gz -C /usr/local cd /usr/local/redis-6.0.10 make 第一次make时报如 阅读全文
摘要:
一. 软删除问题 1. 问题描述 gorm调用delete删除数据时,默认底层调用update方法,将delete_at设置为当前时间 user表中name字段为唯一,这个用户允许删除 每次Create记录的时候,如果之前已经存在一条已经被软删除的记录,并且被软删除的记录的name与当前新增的记录的 阅读全文
摘要:
并发编程 1. goroutine: 在函数前加一个关键字go,就为这个函数创建了一个线程 package main import ( "fmt" "time" ) func hello(i int) { fmt.Println("i = ", i) time.Sleep(time.Second) 阅读全文
摘要:
九. 网络编程 , 直接上代码 9.1 tcp协议 9.1.1. 基本使用 // server端代码package main import ( "bufio" "fmt" "io" "net" ) func main() { listen, err := net.Listen("tcp", "127 阅读全文
摘要:
八. 接口 接口(interface)是一种类型. 8.1. 定义接口 // 定义接口: 接口只有方法声明,没有实现,没有数据字段。 type Mover interface { move() } type dog struct { name string } type pig struct { n 阅读全文
摘要:
七. 函数 GO语言的函数特点: 1. 不需要声明原型 2. 支持可变参数 3. 支持多返回值 4. 支持匿名函数和闭包 5. 不支持嵌套 6. 一个包不能有同名函数 7. 不支持重载 8. 不支持默认参数 这里重点记录可变参,闭包和延迟调用 7.1. 可变参 // 固定类型的不定参数 func f 阅读全文
摘要:
六. 流程控制 6.1. if...else... func ifElse() { // 1. 语法 if a := 2; a == 1 { fmt.Println(1) }else { // else 必须紧跟在if结束的}后面,不能换行 fmt.Println(2) } // 2. GO语言不支 阅读全文
摘要:
五. 结构体 5.1. 结构体定义和初始化 func structDefine() { // 关键字: type // 1.自定义类型, 具有int相同的特性, 但类型是自定义类型: main.myInt, 表示main包下的myInt类型 type myInt int var a myInt fm 阅读全文
摘要:
四. Map 4.1. 定义 func mapDefine() { // map是map是一种无序的基于key-value的数据结构, Go语言中的map是引用类型, 必须初始化才能使用 // 基本定义格式: map[KeyType]ValueType var m map[int]int fmt.P 阅读全文