go語言值得學習的開源項目推薦

谷歌官方維護了一個基于go語言的開源項目列表:

https://github.com/golang/go/wiki/Projects

?

其中有非常多的優秀項目值得學習,有幾百行代碼適合新手閱讀的項目,也有大型如nsq、docker等的項目。

?

下面推薦幾款適合學習的項目:

1、cache2go

https://github.com/muesli/cache2go

比較簡單的一個緩存庫,代碼量很少,適合新手學習,可以學習到鎖、goroutines等。

?

2、groupcache

https://github.com/golang/groupcache

與memcached同一作者,相當于是memcached的go語言實現。

?

3、nsq

https://github.com/bitly/nsq

消息分發平臺,閱讀代碼可以了解到很多分布式、負載均衡等方面的編程。

?

4、docker

https://github.com/docker/docker

時下很火的項目,個人感覺適合應用,不適合入門閱讀學習,待成為了高手后可以研究下其實現。

?

轉載連接:http://studygolang.com/articles/2465

轉載于:https://www.cnblogs.com/yaowen/p/8252931.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252549.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252549.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252549.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

部分Nand flash uboot 命令詳解

nand info & nand device顯示flash的信息: DM365 :>nand info Device 0: NAND 32MiB 3,3V 8-bit, sector size 16 KiB DM365 :>nand device Device 0: NAND 32MiB 3,3V 8-bitnand read(.oob) addr off size 不管是讀取data, 使用nand read,還是…

java7

第八章 數組 1.數組的聲明定義 數據類型[]變量名 new 數據類型[長度]; 列:int[]ary new int[5]; 2.取值,賦值 取值:數據名[下標]; 列:int a ary[1]; 賦值:變量數據名[…

BZOJ 3564 信號增幅儀

題目鏈接:http://www.lydsy.com/JudgeOnline/problem.php?id3564 題意:給出平面上n個點,畫出一個橢圓,橢圓的長軸是短軸的p倍,且長軸的方向為x軸逆時針旋轉a度。求這個橢圓短軸的最小值使得可以覆蓋所以點。 思路&…

CentOS 7 搭建JAVA環境

安裝環境: LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.3.1611 (Core) Release: 7.3.1611 Codename: Core 開始 運行java -version 檢查系統是否安裝JRE 或JDK,有則卸載系統自帶JAVA包輸…

串口波形分析

UART口發出數據按字節發送,發送數據8bit,實際量出波形為10bit,軟件底層驅動會自動加上起始位和停止位各1bit,起始位為0,停止位為1。下圖為用串口工具發送的數據和用示波器所量波形。 發送數據:0x34 0x43 示…

SpringBoot之MongoTemplate的查詢可以怎么耍

學習一個新的數據庫,一般怎么下手呢?基本的CURD沒跑了,當可以熟練的增、刪、改、查一個數據庫時,可以說對這個數據庫算是入門了,如果需要更進一步的話,就需要了解下數據庫的特性,比如索引、事物…

這可能是我見過最詳細的快速排序!

關于快速排序,網上,和維基都有完成的解釋,他們都是。。。。。。,俺覺得都是,太過于總結話語在概述一些東西; 而我卻從最本質的東西,一步一步的深入;在深入的學習過程中,我…

LINQ to SQL 實現 GROUP BY、聚合、ORDER BY

前言 本示例主要實現 LINQ 查詢,先分組,再聚合,最后在排序。示例很簡單,但是使用 LINQ 卻生成了不同的 SQL 實現。 1) 采用手動編寫 SQL 實現 SELECT ROW_NUMBER() OVER(ORDER BY T.RealTotal DESC) AS SN, * FROM ( SELECT (S…

Mysql之事務

什么是事務 假如你下了一筆訂單,會有以下數據庫操作: 1. 生成一筆訂單記錄 2. 減少庫存 3. 從你的賬戶中減少金額 4. 生成支付記錄 這邊的四個操作缺一不可,一旦某一個操作出現異常,則全部操作都需要全部回滾。而事務的作…

JVM垃圾回收機制總結

對于垃圾回收機制我先拋出三個問題: ①哪些內存需要回收? ②什么時候回收? ③如何回收? 下面我們主要針對這三個問題來研究JVM GC 一、哪些內存需要回收? 1.JAVA使用可達性分析法來判斷對象是否需要回收。 這個算法的基…

虛擬機增加內存方法

樓主由于要在虛擬機里面裝一個oracle,在安裝過程中,提示物理內存不符合最低標準,如圖1. 圖1 因為懶得新建一個虛擬機了,所以考慮給虛擬機新增磁盤空間。 首先說明,新增磁盤空間,必須保證當前虛擬機里每個新…

myBatis xml if、where、if-else?、foreach 心得

MyBatis 的強大特性之一便是它的動態 SQL。如果你有使用 JDBC 或其它類似框架的經驗,你就能體會到根據不同條件拼接 SQL 語句的痛苦。例如拼接時要確保不能忘記添加必要的空格,還要注意去掉列表最后一個列名的逗號。利用動態 SQL 這一特性可以徹底擺脫這…

bzoj千題計劃213:bzoj2660: [Beijing wc2012]最多的方案

http://www.lydsy.com/JudgeOnline/problem.php?id2660 很容易想到是先把n表示成最大的兩個斐波那契數相加,然后再拆分這兩個斐波那契數 把數表示成斐波那契進制的形式,第i位表示有沒有第i個斐波那契數 比如16133 001001 那么拆分一個數就是把一個1…

面對對象-封裝

private 私有的 package/friendly/default 不寫 protected 受保護的 public 公共的 那么什么情況該用什么修飾符呢?從作用域來看,public能夠適用所有的情況。 但是大家在工作的時候,又不會真正全部都適用public,那么到底什么情況改用什么修飾…

本文詳解5G是個什么鬼,程序員都準備好了嗎?

無線移動通訊發展歷史 最近5G的概念炒的如火如荼,為此,華為和高通還干了一仗。這篇文章從技術層面給大家分析,什么是5G,它和4G比,高級在哪里? 我們來看看移動互聯網的技術發展: 然后我們在來看看…

安裝kerberos報錯 error: command 'gcc' failed with exit status 1

pip install kerberos 報錯:error: command gcc failed with exit status 1 安裝環境工具 yum install gcc libffi-devel python-devel openssl-devel 再次安裝kerberos安裝成功 轉載于:https://www.cnblogs.com/panbc/p/8268574.html

jquery正則表達式驗證:驗證全是數字

需求說明: 前端頁面使用正則表達式驗證輸入框中輸入的內容全是數字。 代碼說明: 這里只介紹正則表達式,其他部分的代碼不做介紹。如果有其他需要自行修改即可。 步驟一:建立一個頁面可以是html、jsp等,引入jquery-3.2.…

0613課堂匯總

一: 數據類型: 基本數據類型{byte(8)/short(16)/char(16)/int(32)/float(32)/long(64)/double(64)/boolean(1)}引用數據類型{*除了基本數據類型都是引用數據類型 *包括API中的類(String,File)*自定義的類(Personal A…

Istio流量管理實踐之(5): 使用cert-manager部署Istio自定義入口網關及進行證書管理...

Istio Gateway提供多個自定義入口網關的支持能力,通過開放一系列端口用于承載網格邊緣的進入連接,同時可以使用不同loadbalancer來隔離不同的入口流量。cert-manager可用于使用存儲在Kubernetes Secret資源中的任意簽名密鑰對來獲取證書。本文提供了手動…

log4配置

log4j 和 log4j2 方式一&#xff1a;log4j2.xml 添加 jar 包 1 <!-- log4j-core --> 2 <!-- 3 <dependency> 4 <groupId>org.apache.logging.log4j</groupId> 5 <artifactId>log4j-core</artifactId> 6 …