随笔分类 - go
摘要:做个实验,造一个长度一个亿的slice struct 对其内部作出修改,分别使用并发和不用并发,看看时间上会差多少。 不使用协程版本: type Data struct { Id int Info string}func main(){ //channel := make(chan[]Data,10
阅读全文
摘要:除了使用特别方便的比如批量插入删除这种一眼就可以看懂sql的之外,其余查询一律使用Raw Scan,非查询一律使用Exec 另外每一条SQL无论是怎样花里胡哨的复制都要在数据层面经过验证。
阅读全文
摘要:make proto 生成的pubsub包用的是v1,和v2冲突,必须在make proto 之后查询所有用到 github.com/lileio/pubsub的目录,全都改称 github.com/lileio/pubsub/v2main才可以正常启动
阅读全文
摘要:go run main.go up lile.Server(func(g *grpc.Server) { test1.RegisterTest1Server(g, s) reflection.Register(g) ++++++++++++++})加了上面加号那一行,注册反射。效果如下:~/go/b
阅读全文
摘要:lile new --name abc/def 打开def go mod 写入 go 1.14replace google.golang.org/grpc v1.32.0 => google.golang.org/grpc v1.28.0replace google.golang.org/api =
阅读全文
摘要:有些包错误,直接go mod tidy 会出错。 解决: replace google.golang.org/grpc v1.32.0 => google.golang.org/grpc v1.28.0因为有个naming为找到google.goland.api也是个巨大的坑,猜测是国内go mod
阅读全文
摘要:博主探索了一个早上终于学会了使用lile. https://github.com/lileio/lile lile是什么? 简单将就是生成目录用的,主要的功能是生成项目目录和proto的service实现。 博主太菜了,第一次使用go get 和go install 安装包。所以记录一下,let's
阅读全文
摘要:一般使用 hystrix.Do来跟踪请求,需要传入请求名,所以正则匹配一下想要自定义配置的请求名。然后这样: 这是go-hystrix下doc.go里面的内容,vender源码到项目的好处之一是可以轻松查看框架资料! Synchronous API Since calling a command a
阅读全文
摘要:只有v2版本支持,很简单,官网有 https://gorm.io/
阅读全文
摘要:对于v2版本在配置连接的时候可以自定义日志,具体官网有。 https://gorm.io/
阅读全文
摘要:需要model实现下面这个接口,比如表名是user,结构体是User。若不实现,User会被映射到users func (User) TableName() string { return "user"}
阅读全文
摘要:gorm v1版本对于复杂sql的支持一般,所以会用到原生。 查询只需要会用gorm的Raw,Scan这两个api 即可,Raw填入sql和参数,Scan映射结果 插入用 Exec这个api
阅读全文
摘要:git config --global key value git config --global --unset key
阅读全文
摘要:git clone下来的包里会有makefile 然后make install 就会在$GOPATH/bin下面生成编译好的二进制文件 然后把这个$GOPATH/bin加入到环境变量即可 vim ~/.bashrc export PATH=$GOPATH/bin:$PATH source ~/.ba
阅读全文
摘要:每个service和web 都需要在启动项当中配置consul,只需要在program arguments当中写 --registry = consul 如果是网关,则需要在program arguments 中写 --registry=consul api -handler=http
阅读全文
摘要:http Body当中的json数据可以通过go gin的ShouldBindJson映射到pb.go中定义的结构体当中. 名称必须对应,比如json为 {expire_time:"2025"} 那么struct中结构体为{ExpireTime string}
阅读全文
摘要:最优雅的解决方案:go mod init 项目名 (这可能就是降维打击吧 没有go mod的同学赶紧去装,从此告别golang反人类的包管理机制 番外:我的ubuntu的goland需要重启一下否则有些包会报红。 我记得需要配置一下goProxy的,很简单的. 再多说几句吧,有了go mod以后,比
阅读全文
摘要:1.proto生成模型的代码protoc --proto_path=. --go_out=. --micro_out=. proto/user/user.proto2.如果你发现你的proto生成的代码里多了protoreflect,你可能就悲剧了,因为有可能项目使用的是旧版proto,没有反射机制
阅读全文

浙公网安备 33010602011771号