![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go
文章平均质量分 59
ndzjx
喜欢编程
展开
-
数据库批量执行实践(go语言)
数据库的高效执行(查询、写入),除了,设置索引、数据库配置调优、表结构在业务上设置合理、分库分表?、读写分离等等之外,要想改善数据的写入速度,一大杀气是批量插入,此批量并不是大事务,而是利用数据库的特性,insert xxx values (?,?,?),(?,?,?) 的特性,实测效率比单个单个的插入 快10倍以上。那么批量执行,效率如此之高,能够写出一个自动的批量执行的控件就显得尤为必要1:能够到一定数据,开始批量插入2:没到一定的数目,但是时间点到了,也要批量插入。满足这两个条件,同时原创 2021-10-13 14:38:48 · 1811 阅读 · 0 评论 -
go flag参数解析
package mainimport ( "flag" "fmt" "strings")/*func main() { //./testmicro -surname='zhang' -personalName='san' -id=22 //参数依次是命令行参数的名称,默认值,提示 surname := flag.String("surname", "王", "您的姓") //除了返回结果,还可以直接传入变量地址获取参数值 var personalName string fla.原创 2021-01-21 14:28:52 · 440 阅读 · 0 评论 -
GO 单例
testonce.gopackage mainimport ( "fmt" "sync" "sync/atomic")type singleton struct { name string}var ( instance *singleton initialized uint32 mu sync.Mutex)func Instance() *singleton { if atomic.LoadUint32(&initialized)原创 2020-11-21 16:23:07 · 128 阅读 · 0 评论 -
Go gRPC 发布订阅
pubsub/pubsub.proto// protoc --go_out=plugins=grpc:. pubsub.protosyntax = "proto3";package proto;message String { string value = 1;}service PubsubService { rpc Publish (String) returns (String); rpc SubscribeTopic (String) returns (原创 2020-11-18 16:46:19 · 753 阅读 · 0 评论 -
GO gRPC
proto/hello.proto// protoc --go_out=plugins=grpc:. hello.protosyntax = "proto3";package proto;message String { string value = 1;}service HelloService { rpc Hello (String) returns (String); rpc Channel (stream String) returns (stream原创 2020-11-18 14:16:21 · 128 阅读 · 0 评论 -
GO RPC 远程过程调用
/rpcintf/intf.gopackage rpcintfimport "net/rpc"// 代码可以自动生成,通过protoc,插件可以自己写// Server// ServerNameconst HelloServiceName = "path/to/pkg.HelloService"// Function listtype HelloServiceInterface = interface { Hello(request string, reply *string)原创 2020-11-18 14:11:47 · 165 阅读 · 0 评论 -
Go 发布订阅
发布订阅,是一对多的关系:pubsub/pubsub.gopackage pubsubimport ( "sync" "time")type ( subscriber chan interface{} topicFunc func(v interface{}) bool // 主题为一个过滤器)// 发布者对象type Publisher struct { subscribers map[subscriber]topicFunc m sync.R原创 2020-11-18 13:57:21 · 337 阅读 · 0 评论 -
Go学习笔记
Go没有分号1:类型后置。(方便阅读)2:大写字母开头,标识,是导出的3:返回值可以命名, 没有参数的 return 语句返回已命名的返回值,4:var 声明变量列表,有初始值时,可以省略类型,会自动判断类型5:在函数中!,简洁赋值语句 := 可在类型明确的地方代替 var 声明。6:没有明确初始值的变量声明会被赋予它们的 零值。0,false,""7: fmt.Printf ...原创 2020-03-21 10:58:33 · 222 阅读 · 1 评论