- 博客(8)
- 收藏
- 关注
原创 Golang 指针类型和值类型传递
1.指针类型传递,可以达到修改变量值的目的。指针类型的拷贝是浅拷贝,拷贝后的值,指向的内存地址和原值的内存地址一样,修改其中一个值,这个内存地址上的值都会改变2.值类型的拷贝是深度拷贝,会将给拷贝的值创建一个新的内存空间,存储值package mainimport "fmt"// Test 测试结构体type Test struct { Name string Num int}// getTestInfo_1 t操作对象本身 => 修改内存中引用的值func (t *Tes
2022-03-11 14:57:57
648
原创 Go map相关操作整理
知识点整理:创建 make(map[string]string)获取元素 m[key]key不存在 会获取value的初始值用value, ok = m[key] 来判断是否存在keydelete来删除maprange遍历key 或者遍历key,value不保证遍历的顺序 如需顺序 需要手动对key排序len来获取元素数量代码如下:package mainimport "fmt"func main() { m := map[string]string{ "name":
2022-03-08 23:20:44
256
原创 Go Slice概念
Golang Slice切片的基本介绍s1 的值为[2 3 4 5] s2的值为[5 6]slice可以往后扩展 不能往前扩展s[i] 不能超越len(s) 向后拓展不能超越底层数组的cap(s)package mainimport "fmt"func main(){ arr := [...]int{0, 1, 2, 3, 4, 5, 6, 7} // [...] 数组的长度有编译器自行计算 s1 := arr[2:6] s2 := s1[3:5] fmt.Printf("s1=
2022-03-08 23:18:42
144
原创 Golang错误处理相关
错误处理一个接单的文件打开操作demo 针对返回任务的信息进行了打印 _, err := os.OpenFile(filename, os.O_EXCL|os.O_CREATE, 0666) if err != nil { if pahErr, ok := err.(*os.PathError); !ok { panic(err) }else{ fmt.Printf("%s %s %s\n",pahErr.Path,pahErr.Op,pahErr.Err) } retur
2022-03-06 23:16:25
171
原创 Golang单测
表格驱动测试:tests := []struct{ a, b, c int32}{ {1, 2, 3}, {0, 2, 2}, {1, 3, 4}, {math.MaxInt32, 1, math.MinInt32},}for _, test := range tests { if actual := add(test.a, test.b); actual!= test.c{ //todo }}.......写一个简单的测试用例需要被测试得代码:package basi
2022-03-06 23:13:04
287
原创 Golang Gin框架
Golang Gin框架 涉及到的context和middleware的使用示例用到的库:go get -u go.uber.org/zapgo get -u github.com/gin-gonic/gin地址:https://pkg.go.dev/go.uber.org/zap (zap:Package zap provides fast, structured, leveled logging.)https://github.com/gin-gonic/ginpackage main
2022-03-06 23:09:27
434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人