
golang
fly_Xiaoma
技术分享,技术学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学会用枚举常量
枚举是由一组常量值组成的数据类型。实现方式就是借用iota。声明一个新的自定义类型——整数类型; 声明相关常量——使用iota; 创建通用行为——给类型一个String函数; 创建额外的行为——给类型一个EnumIndex函数。比如,为工作日创建一个枚举:// Weekday - Custom type to hold value for weekday ranging from 1-7type Weekday int// Declare related constants for原创 2022-03-22 19:46:04 · 536 阅读 · 0 评论 -
Go的context是线程安全的吗
先说答案,context本身就是线程安全的,所以context携带value也是线程安全的,写个简单例子验证一下:func main() { ctx := context.WithValue(context.Background(), "asong", "test01") go func() { for { _ = context.WithValue(ctx, "asong", "test02") } }() go func() { for { _ = context原创 2022-03-22 16:30:51 · 1733 阅读 · 0 评论 -
详解gorm联合查询 && (on conflict do update set)
联合(join)查询的类型:1)内联接(inner join):将两个表中存在联接关系的字段符合联接条件的记录形成记录集;如:Select A.name,B.name from A inner join B on A.id = B.id 和Select A.name,b.name from A,B where A.id = B.id 结果是一样的(内联结的inner关键字可忽略)2)外联接(分为左外联接和右外联接)左联接A、B表,结果包括A的全部记录和符合条件的B的记录;右联结A、B..原创 2021-10-06 23:09:41 · 3671 阅读 · 1 评论 -
一文了解protobuf
1、什么是protobufProtobuf 即protocol buffers,是一种轻便高效的结构化数据存储格式,与语言、平台无关,可扩展可序列化。protobuf是以二进制方式存储的,占用空间小,性能和效率大幅度优于JSON、XML等其他的数据格式,缺点是可读性差。Protobuf在 .proto 定义需要处理的结构化数据,可通过protoc工具,将 .proto文件转换为C、Golang、Java、Python等多种语言的代码。2、.proto文件中的关键字:syntax 版本号,..原创 2021-04-05 22:11:44 · 2452 阅读 · 0 评论 -
go mod常用指令
在初始化mod的时候,先执行:go mod init github.com/FreeFlyXiaoma/test备注:github.com/FreeFlyXiaoma是你的github账号,test是依赖的项目路径。go mod tidy 依赖包整理,增加本地缺失的包,删除没用的包 go mod download 下载模块到本地缓存,缓存路径是 $GOPATH/pkg/mod/cache go mod init 初始化模块 go mod edit 命令行编辑go.mod ,例如...原创 2021-04-04 22:11:19 · 690 阅读 · 0 评论 -
golang中常见的语法糖有哪些
语法糖:Syntactic sugar1、函数中的形参不定长,用 ... 代替例如:func test(slist ...string){ # 定义一个打印每个行参的函数 for _,tmp := range slist{ fmt.Println(tmp) }}func main() { test("1","2","3") }2、使用 := 进行简短赋值与初始化略.3、访问结构体成员变量时,使用 ...原创 2021-02-14 10:15:57 · 2461 阅读 · 0 评论