Golang Go语言如何进阶?
Golang Go语言如何进阶?
最近学习了下 go,感觉从语言本身来说挺简单的。两天看了下书就上手写了个小工具。但是不知道后面该学什么?公司也不使用 go,没有实践的机会。之前学了 scala 也是一直没机会时间,过了一段时间碰上个 spark 的应用才用上了,前两天会看代码发现又忘了……
快进了属于是
给开源项目交 PR,先搞几个 good first issue 上上手
学几个 web app 的 design pattern,类似 mvc, 然后用 mvc 搞几个小项目。 再去 github 搜一下 ardanlab_service, 学一下它的 design pattern 和中间件的使用。
感谢,这个意见比较有可操作性。
老哥看的啥书
Go 语言实战,完了那 Go 圣经查漏补缺
Go 语言实战 是 Bill Kennedy 写的基础入门书,Ardanlab 是他做的高阶 golang 教学,其中的 ultimate service 讲述他的 ardanlab_service pattern. 不买他的课,可以直接去 github 看源码
好的
感谢老哥
也推荐写个样子,这里面包含:
接上:
1. goroutine 的使用
2. tcp / udp 基础
3. 协议封包
4. 客户端服务端通信
5. 锁的使用
6. 自定义包的使用
7. cli 应用
8. 系统插件设计
9. 数据统计和第三方插件集成
10. 跨平台的发布
以上基本的都覆盖到,写完能有一个大致的认识
样子 -> 梯子
请问有什么合适的参考吗?
frp ,go-shadowsocks2 , nps, v2ray, 类似的项目都不错,可以重点的参考 frp,有些思路还满不错的
frp, echo, gin, 还有 Google 开源的一些 go 项目。
读了不用会忘记,收益率太低
也可以直接使用框架上手写代码, 写个项目
在Golang(Go语言)方面的进阶,可以从以下几个方面着手:
- 深入理解基础知识:这是进阶的前提,包括Go语言的语法、数据类型、控制结构、函数和方法等。通过系统地学习和练习,打下坚实的编程基础。
- 积极参与开源项目:选择如Kubernetes、Docker等知名的Go语言开源项目参与,深入了解其代码实现,提升编程能力和设计能力。
- 学习高级特性:掌握Go语言的高级特性和工具,如并发编程中的goroutine和channel,以及垃圾回收机制等。
- 定期练习编程:通过解决实际问题来锻炼编程技巧,可以参与编程比赛或社区活动,与其他开发者交流和分享经验。
- 阅读和分析优秀代码:借鉴优秀的设计和实现,不断优化自己的编程思路和技巧,同时记录学习笔记或撰写博客,加深对知识的理解。
- 优化程序性能:掌握Golang优化技巧,如使用对象池减少内存分配、使用原生类型和值类型提升性能、优化GOMAXPROCS提升并发性能等。
- 精通调试技巧:利用GDB、pprof等工具进行调试和性能分析,同时学会处理运行时错误和紧急情况。
通过以上步骤,你可以逐步提升自己的Go语言编程水平,并在实际工作中高效应用。