基于go和flutter的实时通信/视频直播解决方案 段维伟0 码力 | 38 页 | 2.22 MB | 2 年前3
通过SSA的解释执行窥探Golang编译之一角println("Hello, GoCN!") println(answer) $ ^{*} $ ast.BasicLit 40 : INT $ ^{*} $ ast.BasicLit 2: INT *ast.CallExpr $ ^{*} $ ast.CallExpr 静态单赋值 $ ^{*} $ ast.BasicLit "Hello, GoCN" $ 类型检查和推导,如: v := "a" + 1 • 确定标识符的引用关系,如: var g = 42 $$ func main() \{ g := "Hello GoCN!" println(g) \} $$ ## Golang 编译流程简介 源代码 抽象语法树 抽象语法树(带语义信息) 静态单赋值 目标代码 转静态单赋值形式,涉及的包: • 2016年,Go 1.7 加入 SSA 支持。 ## SSA 解释执行 const src = package main func main() { println("Hello, GoCN!"); println("The answer is:", 42); } func main() { ssaPkg.Build(); ssaPkg0 码力 | 30 页 | 1.50 MB | 2 年前3
石墨文档Go在K8S上微服务的实践-彭友顺-f' -X github.com/gotomicro/ego/core/eapp.buildTime='date +%Y-%m-%d--%T' https://ego.gocn.vip/micro/chapter1/build.html egoVersion := "unknown version" info, ok := debug.ReadBuildInfo() ——version  https://ego.gocn.vip/micro/chapter1/build.html |Pod|启动时间|应用版本|框架版本|enable|Go版本|Pod IP|Namespace|pod\_template\_hash|version| elog.FieldMethod(method), 报警 interceptor.go 40 elog.FieldMethod(fullMethod), https://ego.gocn.vip/frame/core/logger.html ## 日志分类 • 框架日志 • 业务日志 • 慢日志 • Error日志 • Panic日志 ## 微服务的治理阶段  /t/gocn git:master >>> ls hello hello.go ## 文本 -> 编译 -> 二进制可执行文件 ## 编译过程 ☀️ ☀️ ☁️ ## 使用 packagefile runtime=/usr/local/go/pkg/darwin_amd64/runtime.a EOF 编译 cd /Users/xargin/test/gocn/gocn /usr/local/go/pkg/tool/darwin_amd64/compile -o $WORK/b001/_pkg_.a -trimpath "$WORK/b001⇒" -builddid 31TBW2JzzsUeQP-uuJL0/31TBW2JzzsUeQP-uuJL0 -goversion go1.13.5 -D _/Users/xargin/test/gocn/gocn -importcfg $WORK/b001/importcfg -pack -c=4 ./hello.go /usr/local/go/pkg/tool/darwin_amd64/buildid0 码力 | 44 页 | 7.43 MB | 2 年前3
基于gRPC go实现消息发布订阅service 的 client _, err = client.Publish(context.Background(), &proto.PublishRequest{Topic: "gocn", Payload: []byte("hello, gophers!")}) if err != nil { log.Fatal(err) } 获取pub端client,发送消息。 subscribeClient, err := client.Subscribe(context.Background(), &proto.SubscribeRequest{Topic: "gocn")) if err != nil { 获取订阅 rpc 的客户端 } return } for { resp, err := subscribeClient0 码力 | 31 页 | 2.42 MB | 2 年前3
go-zero开源项目的成长史有数据驱动的思维 • 分析渠道 • 分析用户 • 分析ROI ## go-zero 开源伊始 技术分享 • GoCN • Go夜读 • InfoQ • ArchSumit ## go-zero 开源伊始 技术文章 • 微服务实践公众号 知乎 • InfoQ GoCN • 开源中国 ## go-zero 开源伊始 技术文章(国外) • hacker news • reddit0 码力 | 31 页 | 4.83 MB | 1 年前3
03. Go语言最差实践 - 李俱顺whoami ## About Me • Gopher & Pythonista • CTO @ EKEYNOW Pte Ltd. • Community Contributor @ GoCN ## About ekeynow • A IoT SaaS startup company. All system powered by Go. ## @keynow ## “ ## DAVE0 码力 | 38 页 | 3.27 MB | 2 年前3
云原生go-zero微服务框架设计思考4/fb34ec45f803089948bd2070d4738c62/p28_4.jpg) https://github.com/tal-tech/go-zero https://zero.gocn.vip 欢迎 star, fork, issue, PR! ## GOPHER CHINA 2020 中国 上海 / 2020-11.21-22 ## 谢谢! 简单,是终极的复杂!0 码力 | 29 页 | 5.70 MB | 1 年前3
使用Go与redis构建有趣的应用MB|4.32 MB| ## 自动补全 ## autocomplete ## 示例 ## 新标签页 ### google.com google.com - Google https://gocn.io - 发现 - Go中国技术社区 - golang ☆ https://golang.org/pkg/ - Packages - The Go Programming Language ☆0 码力 | 176 页 | 2.34 MB | 2 年前3
Build web application with Golanga42c9fa9fd747ac93084/p5_1.jpg) English Donate:donate ## Community QQ群:386056972 BBS : http://gocn.io/ ## Acknowledgments • 四月份平民 April Citizen (review code) 洪瑞琦 Hong Ruiqi (review code) 边疆 BianJiang0 码力 | 327 页 | 1.63 MB | 2 年前3
共 10 条
- 1













