摘要:
先上官方使用文档 https://developers.google.cn/protocol-buffers/docs/proto3 定义proto文件 syntax = "proto3"; //.表示生成的go文件存放到当前目录下 student表示文件的包名为student option go_ 阅读全文
摘要:
protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。总之微服务中需要使用的东西 安装protobuf 下载protobuf https://github.com/protocolbuffers/protobuf/releas 阅读全文
摘要:
使用rpc启动一个订单中心服务 package mainimport ( "net" "net/http" "net/rpc" "time")type OrderCenter struct {}//暴露的方法必须符合 func (t *T) MethodName(argType T1, replyT 阅读全文
摘要:
package main import ( "github.com/golang/freetype" "image" "image/color" "image/png" "io/ioutil" "log" "os" ) func main() { //图片的宽度 srcWidth := 200 // 阅读全文
摘要:
使用golang标准库中的 image 库合成图片 package main import ( "fmt" "image" "image/draw" _ "image/jpeg" "image/png" "os" ) func main() { file,err := os.Open("./publ 阅读全文
摘要:
GinAdmin 这个项目是以Gin框架为基础搭建的后台管理平台,虽然很多人都认为go是用来开发高性能服务端项目的,但是也难免有要做web管理端的需求,总不能再使用别的语言来开发吧。所以整合出了GinAdmin项目,请大家多提意见指正! GitHub地址 https://github.com/gph 阅读全文
摘要:
WithCancel(主进程控制子协程关闭) package main import ( "context" "fmt" "sync" "time" ) var wg sync.WaitGroup func f(ctx context.Context) { defer wg.Done() LOOP: 阅读全文
摘要:
sync.WaitGroup 优雅的同步执行协程 package main import ( "fmt" "math/rand" "sync" "time" ) func f1(i int) { defer wg.Done() rand.Seed(time.Now().UnixNano()) tim 阅读全文
摘要:
select就是用来监听和channel有关的IO操作,当 IO 操作发生时,触发相应的动作 package main import ( "fmt" "time" ) func main() { ch := make(chan int) o := make(chan bool) go func() 阅读全文
摘要:
Timer定时器 启动 package main import ( "fmt" "time" ) func main() { <-time.After(2 * time.Second) fmt.Println("延时两秒") } func main02() { time.Sleep(2 * time 阅读全文