摘要: 参考:https://www.cnblogs.com/zoneofmine/p/11532457.html 阅读全文
posted @ 2021-01-30 09:37 柔南青空 阅读(98) 评论(0) 推荐(0) 编辑
摘要: DO $$ DECLARE r RECORD; BEGIN -- if the schema you operate on is not"current", you will want to -- replace current_schema() in query with 'schematodel 阅读全文
posted @ 2021-01-30 09:35 柔南青空 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 并发编程 并发在图中的解释是两队人排队接咖啡,两队切换。 并行是两个咖啡机,两队人同时接咖啡 goroutine 启动goroutine只要在前面调用函数前加go关键字即可 一个goroutine必定对应一个函数,可以创建多个goroutine执行相同的函数 通过runtime.GOMAXPROCS 阅读全文
posted @ 2020-12-25 17:14 柔南青空 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 单元测试 go test 工具 包目录内,所有以_test.go为后缀名的源代码文件都是go test测试的一部分,不会被go build编译到最终的可执行文件中 单元测试函数 函数名前缀为Test 测试程序的一些逻辑行为是否正确 基准测试函数 函数名前缀为Benchmark 测试函数的性能 示例函 阅读全文
posted @ 2020-12-24 17:58 柔南青空 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 反射机制 是什么 Go 语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具体类型,这称为反射机制 作用 在编写不定传参类型函数的时候,或传入类型过多时 不确定调用哪个函数,需要根据某些条件来动态执行 实现 Go的反射基础是接口和类型系统,Go的反射机制 阅读全文
posted @ 2020-12-22 00:11 柔南青空 阅读(67) 评论(0) 推荐(0) 编辑
摘要: defer函数 在golang中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量 规则 当defer被声明时,其参数就会被实时解析 defer执行顺序为先进后出 阅读全文
posted @ 2020-12-20 23:59 柔南青空 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 包管理(Go Modules) 是什么 Modules是关于Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性 使用方法 环境变量 # 查看当前配置 $ go env # 修改配置 $ go env -w GO111MODULE=on G 阅读全文
posted @ 2020-12-19 01:43 柔南青空 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 结构体 go语言中没有类的概念,也不支持继承这种面向对象的概念 package main import ( "encoding/json" "fmt" ) // 定义结构体 // 结构体中字段的类型可以是任何类型,包括函数,接口,结构体等 // 定义结构体的字段时首字母为小写在其他包是无法直接访问该 阅读全文
posted @ 2020-12-19 01:22 柔南青空 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 函数 相关用法 package main import ( "fmt" "errors" ) // 函数定义 func getSum(num1,num2 int) int{ return num1+num2 } // 变长参数 放在函数参数列表的最后一个 func min(nums ...int) 阅读全文
posted @ 2020-12-18 00:35 柔南青空 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 数组 package main import "fmt" func test(arrp *[3]int){ arrp[1] = 5 fmt.Println(arrp) } func main() { // 定义数组方式一 var arr1 = [3]int{} // 定义数组方式二 var arr2 阅读全文
posted @ 2020-12-16 22:29 柔南青空 阅读(53) 评论(0) 推荐(0) 编辑