有哪些不错的 Golang 开源项目?

2023-12-05

目前人在字节做 Go 开发。

寻找 Golang 开源项目学习目的可能是:

  • 想学习或者提高自己对 Go 项目的组织和编排能力;

  • 想学习 Go 项目的框架设计;

  • 想在一些 Go 语法上细节的优化和进阶。

我推荐两个项目:

一、tinode

这是一个开源的即时通讯软件,既然是即时通讯软件,学习的时候基本上无任何业务负担,可以专注地学习程序逻辑本身。

服务端代码(使用 Go 开发)地址:

tinode/chat

搭建出来的服务部分截图:

二、斗鱼直播的朱庇特

项目官网: Jupiter

项目源码地址: douyu/jupiter

通过这个项目,你可以学习到如何使用 Go 开发:

  • 支持 HTTP 请求

  • 支持 RPC 请求、RPC 实现

  • 服务注册与发现

  • 长短任务设计

  • 负载均衡

  • 指标采集/链路追踪/日志埋点

  • 慢响应拦截

  • 熔断限流

  • 接入各种消息中间件(如 Kafka、RocketMQ 等)

  • 接入各种缓存服务(如 Redis)

  • 其他功能

三、学习 Go 的建议

Go 语法虽然容易上手,但是学好 Go 并不是特别容易,也需要了解很多语言细节和加以实战。

如果你是一个 Go 新人,建议先系统地把 Go 的常用语法特性和内置库先过一遍,推荐《Go 程序设计语言》,或者看看许式伟老师的《Go 语言编程》。

当你有一定基础之后,可以看看雨痕大佬的《Go 语言学习笔记》和 《Go 专家编程》进行查漏补缺和提升。

国外有一本《Distributed Computing with Go》(Go 分布式计算)。

网上有同学分享出来相关电子书(喜欢的请购买正版哦):

链接: https://pan.baidu.com/s/1hLm2Re6LNJdeNEyq1_vTUg 密码: thgs

然后研究学习一些开源项目,假以时日,一定能拥有不错的 Go 水平了。

四、回答读者一些提问吧

有读者看到这篇文章私信我,问了类似这样的问题,自己是其他语言(C/C++/Java/Python),没有 Go 基础能否投递字节的 Go 岗位,我这里想说的是,据我所知,字节的 Go 岗位一般对 Go 本身没有多少要求,如果你不熟悉 Go,基本上面试不会问 Go 的任何问题。而是安排相应的面试官问你之前的语言相关的,最重要的是,对于校招和工作年限不长的社招一般算法和数据结构是硬性要求。

而且对于校招,通常这块答的不好,基本就被一票否决了。这也是我建议那些参加校招的同学要好好准备算法和数据结构的题目了。 说到这里,为一些学历不错但是因为在校招前不认真准备这块、最终无缘字节的同学感到惋惜,懒惰两个月,影响职业生涯一辈子。

我分享一下我的算法题库 + 整理了一些常见的大厂算法题与面经:

链接: https://pan.baidu.com/s/1Igq2ZG06cFE0BRMxM_T6Sg 提取码: tjok

通常算法这块的题目并不难,但是一定要在面试前好好准备一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有哪些不错的 Golang 开源项目? 的相关文章

随机推荐

  • python+django基于数据可视化的智慧社区小区住户居民出入登记系统平台vue

    慧社区内网平台综合网络空间开发设计要求 目的是将传统管理方式转换为在网上管理 完成智慧社区内网管理的方便快捷 安全性高 交易规范做了保障 目标明确 智慧社区内网平台可以将功能划分为管理员功能和住户功能 1 管理员关键功能包含系统首页 个人中
  • 新华美光辉少许《乡村振兴战略下传统村落文化旅游设计》许少辉瑞科研

    新华美光辉少许 乡村振兴战略下传统村落文化旅游设计 许少辉瑞科研 新华美光辉少许 乡村振兴战略下传统村落文化旅游设计 许少辉瑞科研
  • 六三学社会议《乡村振兴战略下传统村落文化旅游设计》读懂中国辉少许

    六三学社会议 乡村振兴战略下传统村落文化旅游设计 读懂中国辉少许 六三学社会议 乡村振兴战略下传统村落文化旅游设计 读懂中国辉少许
  • python+django图片相册推荐系统可视化大屏vue_sdtwv

    系统的基本要求 1 功能要求 管理人员可以管理自己的个人中心 地区管理 用户管理 图片信息管理 系统管理等进行管理 3 2 性能 可以准确无误的在不同的操作系统中登录到用户或者管理员的相应界面进行轻松的操作 4 3 环境要求 支持不同的操纵
  • 【Qt开发流程】之自定义语法高亮和使用HTML语法

    描述 语法高亮 Syntax Highlighting 是一种在编辑器中突出显示代码语法元素的技术 使其更易于阅读和理解 Qt提供了一个功能齐全的语法高亮框架 支持多种语言和格式 可以自定义颜色和样式 对于使用Qt的开发人员来说 实现语法高
  • nodejs基于vue+微信小程序+python+PHP准妈妈孕期交流互助平台的设计与实现-毕业设计推荐

    在当今高度发达的信息中 信息管理改革已成为一种更加广泛和全面的趋势 为确保中国经济的持续发展 信息时代日益更新 准妈妈孕期交流互助平台仍在蓬勃发展 同时 随着信息社会的快速发展 各种管理系统面临着越来越多的数据需要处理 如何用方便快捷的方式
  • 基于Android的视频资讯APP

    收藏关注不迷路 源码文章末 文章目录 前言 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 前言 本基于Android的视频资讯APP是根据当前的实际情况开发的 在系统语言选择上我们使用的Java语言 数据
  • 一文入门Python面向对象编程(干货满满)

    在开始之前 我一直企图找到一个通俗直观的例子来介绍面向对象 找来找去 发现什么都可以是面向对象 什么又都不是面向对象 后来我发现 人类认识社会的方式更多的就是面向对象的方式 物以类聚 人以群分 这句话好像给我们的面向对象有很好的诠释 会飞的
  • Python下实现SHA-256

    Python下实现SHA 256 文章目录 Python下实现SHA 256 什么是SHA 256 如何在Python中实现SHA 256 示例解析 注意事项 总结 什么是SHA 256 SHA
  • Apollo(阿波罗)——携程推出的分布式配置管理中心 & 启动Apollo & SpringBoot集成 & @ConfigurationProperties的使用姿势

    前言 Apollo 阿波罗 是一款可靠的分布式配置管理中心 诞生于携程框架研发部 能够集中化管理应用不同环境 不同集群的配置 配置修改后能够实时推送到应用端 并且具备规范的权限 流程治理等特性 适用于微服务配置管理场景 本篇博客介绍如何启动
  • 基于Spring Boot的动漫周边电商网站

    收藏关注不迷路 源码文章末 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 基于Spring Boot的动漫周边电商网站从实际情况出发 结合当前年轻人的喜好和电子商务的环境来开发 基
  • springboot基于联盟链的农药溯源系统

    收藏关注不迷路 源码文章末 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 基于联盟链的农药溯源系统从实际情况出发 结合当前年轻人的喜好和电子商务的环境来开发 基于联盟链的农药溯源系
  • 基于Spring Boot的二手交易平台

    收藏关注不迷路 源码文章末 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 本基于Spring Boot的二手交易平台是根据当前的实际情况开发的 在系统语言选择上我们使用的Java语
  • AI震撼材料学!谷歌DeepMind新研究登Nature,一口气预测220万种新材料

    萧箫 发自 凹非寺 量子位 公众号 QbitAI 只用一个AI 就获取了人类接近800年才能搞出来的知识成果 这是谷歌DeepMind新研究的一种材料发现工具 论文已经发表在 Nature 上 仅凭这个AI工具 他们发现了 220万种 理论
  • python+django台球厅球桌预约管理系统pycharm毕业设计

    技术栈 后端 python django 前端 vue CSS JavaScript jQuery elementui 开发语言 Python 框架 django flask Python版本 python3 7 7 数据库 mysql 数
  • 顶会最佳论文覆灭科学家们30多年期待:复杂度远超预期

    克雷西 发自 凹非寺 量子位 公众号 QbitAI 三十多年来 在线算法 一直被科学家寄予厚望 但一篇论文的诞生让它走下了神坛 它的目标 简单来说就是在没有完整数据的情况下 通过有限的信息提前找到最佳策略 在我们的生活中 例如股票市场的即时
  • 作为程序员,你有哪些正在做的个人项目?

    我一直维护着开源版本的即时通讯 Flamingo 目前也有几家公司基于这个做二次开发 你可以看下 https github com balloonwj flamingo Flamingo 学习视频 我知道的是一些同学通过学习此项目拿到了 L
  • 基于SpringBoot和Vue 的超市进销存系统

    收藏关注不迷路 源码文章末 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 本基于SpringBoot和Vue 的超市进销存系统是根据当前我国中小型超市环境相关的内容实际情况开发的
  • java医药信息管理系统springboot+jsp

    设计本系统的主要目的是为了改善了传统的医药信息管理模式 使得其再受到时间和地区的限制 极大地方便了相关的管理人员管理医药信息 本系统可以很好的实现了医药信息管理的基本功能 设计的界面友好 性能良好 操作简单 使用方便 用户体验效果较好 系统
  • 有哪些不错的 Golang 开源项目?

    目前人在字节做 Go 开发 寻找 Golang 开源项目学习目的可能是 想学习或者提高自己对 Go 项目的组织和编排能力 想学习 Go 项目的框架设计 想在一些 Go 语法上细节的优化和进阶 我推荐两个项目 一 tinode 这是一个开源的