golang開發需要掌握的核心包以及中間件,涵蓋項目的各個領域,值得收藏。
- 常用包
常用包 | 說明 |
fmt | 實作格式化的輸入輸出操作,其中的fmt.Printf()和fmt.Println()是開發者使用最為頻繁的函數。 |
io | 實作了一系列非平台相關的IO相關接口和實作,比如提供了對os中系統相關的IO功能的封裝。我們在進行流式讀寫(比如讀寫檔案)時,通常會用到該包。 |
bufio | 它在io的基礎上提供了緩存功能。在具備了緩存功能後, bufio可以比較友善地提供ReadLine之類的操作。 |
strconv | 提供字元串與基本資料類型互轉的能力。 |
os | 本包提供了對作業系統功能的非平台相關通路接口。接口為Unix風格。提供的功能包括檔案操作、程序管理、信号和使用者賬号等。 |
sync | 它提供了基本的同步原語。在多個goroutine通路共享資源的時候,需要使用sync中提供的鎖機制。 |
flag | 它提供指令行參數的規則定義和傳入參數解析的功能。絕大部分的指令行程式都需要用到這個包。 |
encoding/json | JSON目前廣泛用做網絡程式中的通信格式。本包提供了對JSON的基本支援,比如從一個對象序列化為JSON字元串,或者從JSON字元串反序列化出一個具體的對象等。 |
http | 通過http包,隻需要數行代碼,即可實作一個爬蟲或者一個Web伺服器,這在傳統語言中是無法想象的。 |
2. 常用第三方包
包 | 位址 |
資料庫操作 | github.com/jinzhu/gorm github.com/go-xorm/xorm |
搜尋es | github.com/olivere/elastic |
rocketmq操作 | github.com/apache/rocketmq-client-go/v2 |
rabbitmq 操作 | github.com/streadway/amqp |
redis 操作 | github.com/go-redis/redis |
etcd 操作 | github.com/coreos/etcd/clientv3 |
kafka | https://github.com/Shopify/sarama https://github.com/bsm/sarama-cluster |
excel 操作 | github.com/360EntSecGroup-Skylar/excelize |
ppt 操作 | golang.org/x/tools/cmd/present |
go-svg 操作 | https://github.com/ajstarks/svgo |
go 布隆過濾器實作 | https://github.com/AndreasBriese/bbloom |
json相關 | https://github.com/bitly/go-simplejson |
LRU Cache實作 | https://github.com/bluele/gcache https://github.com/hashicorp/golang-lru |
go運作時函數替換 | https://github.com/bouk/monkey |
toml | https://github.com/toml-lang/toml https://github.com/naoina/toml |
yaml | https://github.com/go-yaml/yaml |
viper | https://github.com/spf13/viper |
go key/value存儲 | https://github.com/etcd-io/bbolt |
基于ringbuffer的無鎖golang workpool | https://github.com/Dai0522/workpool |
輕量級的協程池 | https://github.com/ivpusic/grpool |
列印go的詳細資料結構 | https://github.com/davecgh/go-spew |
基于ringbuffer實作的隊列 | https://github.com/eapache/queue |
拼音 | https://github.com/go-ego/gpy |
分詞 | https://github.com/go-ego/gse |
搜尋 | https://github.com/go-ego/riot |
windows COM | https://github.com/go-ego/cedar |
session | https://github.com/gorilla/sessions |
路由 | https://github.com/gorilla/mux |
websocket | https://github.com/gorilla/websocket |
Action handler | https://github.com/gorilla/handlers |
csrf | https://github.com/gorilla/csrf |
context | https://github.com/gorilla/context |
過濾html标簽 | https://github.com/grokify/html-strip-tags-go |
可配置的HTML标簽過濾 | https://github.com/microcosm-cc/bluemonday |
根據IP擷取地理位置資訊 | https://github.com/ipipdotnet/ipdb-go |
html轉markdown | https://github.com/jaytaylor/html2text |
goroutine 本地存儲 | https://github.com/jtolds/gls |
彩色輸出 | https://github.com/mgutz/ansi |
表格列印 | https://github.com/olekukonko/tablewriter |
reflect 更高效的反射API | https://github.com/modern-go/reflect2 |
msgfmt (格式化字元串,将%更換為變量名) | https://github.com/modern-go/msgfmt |
可取消的goroutine | https://github.com/modern-go/concurrent |
深度拷貝 | https://github.com/mohae/deepcopy |
安全的類型轉換包 | https://github.com/spf13/cast |
從文本中提取連結 | https://github.com/mvdan/xurls |
字元串格式處理(駝峰轉換) | https://godoc.org/github.com/naoina/go-stringutil |
文本diff實作 | https://github.com/pmezard/go-difflib |
uuid相關 | https://github.com/satori/go.uuid https://github.com/snluu/uuid |
去除UTF編碼中的BOM | https://github.com/ssor/bom |
圖檔縮放 | https://github.com/nfnt/resize |
生成 mock server | https://github.com/otokaze/mock |
go 性能上報到influxdb | https://github.com/rcrowley/go-metrics |
go zookeeper用戶端 | https://github.com/samuel/go-zookeeper |
go thrift | https://github.com/samuel/go-thrift |
MQTT 用戶端 | https://github.com/shirou/mqttcli |
hbase | https://github.com/tsuna/gohbase |
go 性能上報到influxdb | https://github.com/rcrowley/go-metrics |
go 性能上報到prometheus | https://github.com/deathowl/go-metrics-prometheus |
ps utils | https://github.com/shirou/gopsutil |
小數處理 | https://github.com/shopspring/decimal |
結構化日志處理(json) | https://github.com/sirupsen/logrus |
指令行程式架構 cli | https://github.com/urfave/cli |
指令行程式架構 cobra | https://github.com/spf13/cobra |
3. 必看項目
項目 | 位址 | 說明 |
gin | github.com/gin-gonic/gin | 輕量級web架構,很多公司都是基于它進行魔改 |
beego | github.com/beego/beego | 也是web架構,比較全能 |
kratos | github.com/go-kratos/kratos | bilibili開源的微服務架構,b站出品必屬于精品 |
TiDB | github.com/pingcap/tidb | 見識過mysql性能瓶頸之後你會想要選擇的一款資料庫 |
4. 完整标準庫清單
包 | 子包 | 說明 |
bufio | bytes | 提供了對位元組切片操作的函數 |
crypto | 收集了常見的加密常數 | |
errors | 實作了操作錯誤的函數 | |
Expvar | 為公共變量提供了一個标準的接口,如伺服器中的運算計數器 | |
flag | 實作了指令行标記解析 | |
fmt | 實作了格式化輸入輸出 | |
hash | 提供了哈希函數接口 | |
html | 實作了一個HTML5相容的分詞器和解析器 | |
image | 實作了一個基本的二維圖像庫 | |
io | 提供了對I/O原語的基本接口 | |
log | 它是一個簡單的記錄包,提供最基本的日志功能 | |
math | 提供了一些基本的常量和數學函數 | |
mine | 實作了部分的MIME規範 | |
net | 提供了一個對UNIX網絡套接字的可移植接口,包括TCP/IP、 UDP域名解析和UNIX域套接字 | |
os | 為作業系統功能實作了一個平台無關的接口 | |
path | 實作了對斜線分割的檔案名路徑的操作 | |
reflect | 實作了運作時反射,允許一個程式以任意類型操作對象 | |
regexp | 實作了一個簡單的正規表達式庫 | |
runtime | 包含與Go運作時系統互動的操作,如控制goroutine的函數 | |
sort | 提供對集合排序的基礎函數集 | |
strconv | 實作了在基本資料類型和字元串之間的轉換 | |
strings | 實作了操作字元串的簡單函數 | |
sync | 提供了基本的同步機制,如互斥鎖 | |
syscall | 包含一個低級的作業系統原語的接口 | |
testing | 提供對自動測試Go包的支援 | |
time | 提供測量和顯示時間的功能 | |
unicode | Unicode編碼相關的基礎函數 | |
archive | tar | 實作對tar壓縮文檔的通路 |
zip | 提供對ZIP壓縮文檔的讀和寫支援 | |
compress | bzip2 | 實作了bzip2解壓縮 |
flate | 實作了RFC 1951中所定義的DEFLATE壓縮資料格式 | |
gzip | 實作了RFC 1951中所定義的gzip格式壓縮檔案的讀和寫 | |
lzw | 實作了 Lempel-Ziv-Welch編碼格式的壓縮的資料格式 | |
zlib | 實作了RFC 1950中所定義的zlib格式壓縮資料的讀和寫 | |
container | heap | 提供了實作heap.Interface接口的任何類型的堆操作 |
lsit | 實作了一個雙連結清單 | |
ring | 實作了對循環連結清單的操作 | |
crypto | aes | 實作了AES加密(以前的Rijndael) |
cipher | 實作了标準的密碼塊模式,該模式可包裝進低級的塊加密實作中 | |
des | 實作了資料加密标準( Data Encryption Standard,DES)和三重資料加密算法( TripleData Encryption Algorithm, TDEA) | |
dsa | 實作了FIPS 186-3所定義的資料簽名算法( Digital Signature Algorithm) | |
ecdsa | 實作了FIPS 186-3所定義的橢圓曲線資料簽名算法( Elliptic Curve Digital SignatureAlgorithm) | |
elliptic | 實作了素數域上幾個标準的橢圓曲線 | |
hmac | 實作了鍵控哈希消息身份驗證碼( Keyed-Hash Message Authentication Code,HMAC) | |
md5 | 實作了RFC 1321中所定義的MD5雜湊演算法 | |
rand | 實作了一個加密安全的僞随機數生成器 | |
rc4 | 實作了RC4加密,其定義見Bruce Schneier的應用密碼學( Applied Cryptography) | |
rsa | 實作了PKCS#1中所定義的RSA加密 | |
sha1 | 實作了RFC 3174中所定義的SHA1雜湊演算法 | |
sha256 | 實作了FIPS 180-2中所定義的SHA224和SHA256雜湊演算法 | |
sha512 | 實作了FIPS 180-2中所定義的SHA384和SHA512雜湊演算法 | |
subtle | 實作了一些有用的加密函數,但需要仔細考慮以便正确應用它們 | |
tls | 部分實作了RFC 4346所定義的TLS 1.1協定 | |
x509 | 可解析X.509編碼的鍵值和證書 | |
x509/pkix | 包含用于對X.509證書、 CRL和OCSP的ASN.1解析和序列化的共享的、低級的結構 | |
database | sql | 圍繞SQL提供了一個通用的接口 |
sql/driver | 定義了資料庫驅動所需實作的接口,同sql包的使用方式 | |
debug | dwarf | 提供了對從可執行檔案加載的DWARF調試資訊的通路,這個包對于實作Go語言的調試器非常有價值 |
elf | 實作了對ELF對象檔案的通路。 ELF是一種常見的二進制可執行檔案和共享庫的檔案格式。 Linux采用了ELF格式 | |
gosym | 通路Go語言二進制程式中的調試資訊。對于可視化調試很有價值 | |
macho | 實作了對Mach-O對象檔案的通路 | |
pe | 實作了對PE( Microsoft Windows Portable Executable)檔案的通路 | |
encoding | ascii85 | 實作了ascii85資料編碼,用于btoa工具和Adobe’s PostScript以及PDF文檔格式 |
asn1 | 實作了解析DER編碼的ASN.1資料結構,其定義見ITU-T Rec X.690 | |
base32 | 實作了RFC 4648中所定義的base32編碼 | |
base64 | 實作了RFC 4648中所定義的base64編碼 | |
binary | 實作了在無符号整數值和位元組串之間的轉化,以及對固定尺寸值的讀和寫 | |
csv | 可讀和寫由逗号分割的數值( csv)檔案 | |
gob | 管理gob流——在編碼器(發送者)和解碼器(接收者)之間進行二進制值交換 | |
hex | 實作了十六進制的編碼和解碼 | |
json | 實作了定義于RFC 4627中的JSON對象的編碼和解碼 | |
pem | 實作了PEM( Privacy Enhanced Mail)資料編碼 | |
xml | 實作了一個簡單的可了解XML名字空間的XML 1.0解析器 | |
go | ast | 聲明了用于展示Go包中的文法樹類型 |
build | 提供了建構Go包的工具 | |
doc | 從一個Go AST(抽象文法樹)中提取源代碼文檔 | |
parser | 實作了一個Go源檔案解析器 | |
printer | 實作了對AST(抽象文法樹)的列印 | |
scanner | 實作了一個Go源代碼文本的掃描器 | |
token | 定義了代表Go程式設計語言中詞法标記以及基本操作标記( printing、 predicates)的常量 | |
hash | adler32 | 實作了Adler-32校驗和 |
crc32 | 實作了32位的循環備援校驗或CRC-32校驗和 | |
crc64 | 實作了64位的循環備援校驗或CRC-64校驗和 | |
fnv | 實作了Glenn Fowler、 Landon Curt Noll和Phong Vo所建立的FNV-1和FNV-1a未加密哈希函數 | |
html | template | 它自動建構HTML輸出,并可防止代碼注入 |
image | color | 實作了一個基本的顔色庫 |
draw | 提供一些做圖函數 | |
gif | 實作了一個GIF圖像解碼器 | |
jpeg | 實作了一個JPEG圖像解碼器和編碼器 | |
png | 實作了一個PNG圖像解碼器和編碼器 | |
index | suffixarray | 通過建構記憶體索引實作的高速字元串比對查找算法 |
io | ioutil | 實作了一些實用的I/O函數 |
log | syslog | 提供了對系統日志服務的簡單接口 |
math | big | 實作了多精度的算術運算(大數) |
cmplx | 為複數提供了基本的常量和數學函數 | |
rand | 實作了僞随機數生成器 | |
mime | multipart | 實作了在RFC 2046中定義的MIME多個部分的解析 |
net | http | 提供了HTTP用戶端和伺服器的實作 |
實作了對郵件消息的解析 | ||
rpc | 提供了對一個來自網絡或其他I/O連接配接的對象可導出的方法的通路 | |
smtp | 實作了定義于RFC 5321中的簡單郵件傳輸協定( Simple Mail Transfer Protocol) | |
textproto | 實作了在HTTP、 NNTP和SMTP中基于文本的通用的請求/響應協定 | |
url | 解析URL并實作查詢轉義 | |
http/cgi | 實作了定義于RFC 3875中的CGI(通用網關接口) | |
http/fcgi | 實作了FastCGI協定 | |
http/httptest | 提供了一些HTTP測試應用 | |
http/httputil | 提供了一些HTTP應用函數,這些是對net/http包中的東西的補充,隻不過相對不太常用 | |
http/pprof | 通過其HTTP伺服器運作時提供性能測試資料,該資料的格式正是pprof可視化工具需要的 | |
rpc/jsonrpc | 為rpc包實作了一個JSON-RPC ClientCodec和ServerCodec | |
os | exec | 可運作外部指令 |
user | 通過名稱和id進行使用者賬戶檢查 | |
path | filepath | 實作了以與目标作業系統定義檔案路徑相相容的方式處理檔案名路徑 |
regexp | syntax | 将正規表達式解析為文法樹 |
runtime | debug | 包含當程式在運作時調試其自身的功能 |
pprof | 以pprof可視化工具需要的格式寫運作時性能測試資料 | |
sync | atomic | 提供了低級的用于實作同步算法的原子級的記憶體機制 |
testing | iotest | 提供一系列測試目的的類型,實作了Reader和Writer标準接口 |
quick | 實作了用于黑箱測試的實用函數 | |
script | 幫助測試使用通道的代碼 | |
text | scanner | 為UTF-8文本提供了一個掃描器和分詞器 |
tabwriter | 實作了一個寫篩選器( tabwriter.Writer),它可将一個輸入的tab分割的列翻譯為适當對齊的文本 | |
template | 資料驅動的模闆引擎,用于生成類似HTML的文本輸出格式 | |
template/parse | 為template建構解析樹 | |
unicode/utf16 | 實作了UTF-16序列的的編碼和解碼 | |
unicode/utf8 | 實作了支援以UTF-8編碼的文本的函數和常數 |
5. 其他優秀的開源工具分類
- 音頻和音樂
包 | 說明 |
EasyMIDI | EasyMidi是一個簡單可靠的庫,用于處理标準Midi檔案(SMF)。 |
flac | 支援FLAC流的Native Go FLAC編碼器/解碼器。 |
gaad | 本機Go AAC比特流解析器。 |
go-sox | 用于go的libsox綁定。 |
go_mediainfo | 用于go的libmediainfo綁定。 |
gosamplerate | 用于go的libsamplerate綁定。 |
id3v2 | 用于Go的快速,穩定的ID3解析和編寫庫。 |
malgo | 迷你音頻庫。 |
minimp3 | 輕量級MP3解碼器庫。 |
mix | 為音樂應用程式基于序列轉到本地音頻混合器。 |
mp3 | Native Go MP3解碼器。 |
music-theory | Go中的音樂理論模型。 |
Oto | 在多個平台上播放聲音的低級庫。 |
PortAudio | 用于PortAudio音頻I / O庫的綁定。 |
portmidi | 綁定PortMidi。 |
taglib | 為taglib綁定。 |
vorbis | “本機” Go Vorbis解碼器(使用CGO,但沒有依賴項)。 |
waveform | Go程式包,能夠從音頻流生成波形圖像。 |
- 資料結構
包 | 說明 |
algorithms | 算法和資料結構。CLRS研究。 |
binpacker | 二進制打包程式和解包程式可幫助使用者建構自定義二進制流。 |
bit | 具有額外的位旋轉功能的Golang設定資料結構。 |
bitset | 實作位集的Go包。 |
bloom | 在Go中實作的Bloom過濾器。 |
bloom | Golang Bloom過濾器實作。 |
boomfilters | 用于處理連續無界流的機率資料結構。 |
concurrent-writer | 高并發直接替換bufio.Writer。 |
conjungo | 一個小型,強大而靈活的合并庫。 |
count-min-log | 執行Count-Min-Log草圖:使用近似計數器進行近似計數(類似于Count-Min草圖,但使用較少的記憶體)。 |
crunch | Go包實作了用于輕松處理各種資料類型的緩沖區。 |
cuckoofilter | Cuckoo過濾器:是Go中實作的計數布隆過濾器的很好替代。 |
deque | 高度優化的雙端隊列。 |
deque | 快速的環形緩沖區雙端隊列(雙端隊列)。 |
dict | Go的類似Python的字典(dict)。 |
encoding | Go的整數壓縮庫。 |
go-adaptive-radix-tree | 自适應基數樹的 Go實作。 |
go-datastructures | 有用,高性能和線程安全的資料結構的集合。 |
go-ef | Elias-Fano編碼的Go實作。 |
go-geoindex | 記憶體中的地理索引。 |
go-mcache | 快速記憶體鍵:值存儲/緩存庫。指針緩存。 |
go-rquad | 具有有效點定位和鄰居發現功能的區域四叉樹。 |
gocache | 具有多個存儲(記憶體,memcache,redis等),可連結,可加載,名額緩存等的完整Go緩存庫。 |
goconcurrentqueue | 并發FIFO隊列。 |
gods | 資料結構。容器,集合,清單,堆棧,地圖,BidiMap,樹,HashSet等。 |
gofal | Go的小數api。 |
golang-set | Go的線程安全和非線程安全高性能集。 |
goset | Go的有用的Set集合實作。 |
goskiplist | Go中的跳過清單實作。 |
gota | Go的資料框,序列和資料整理方法的實作。 |
hide | ID類型,将其編組進/出哈希以防止将ID發送給用戶端。 |
hilbert | Go程式包,用于在空間填充曲線(例如Hilbert和Peano曲線)之間映射值。 |
hyperloglog | HyperLogLog實施,具有稀疏,LogLog-Beta偏差校正和TailCut空間減少功能。 |
iter | C ++ STL疊代器和算法的實作。 |
levenshtein | Levenshtein距離和相似性度量标準,具有可自定義的編輯費用和通用字首的類似于Winkler的獎金。 |
levenshtein | 在Go中計算levenshtein距離的實作。 |
mafsa | 具有最小完美散列的MA-FSA實作。 |
merkletree | merkle樹的實作,可對資料結構的内容進行有效且安全的驗證。 |
mspm | 用于資訊檢索的多字元串模式比對算法。 |
null | 可空轉到類型,可以被編組/解組到/從JSON。 |
parsefields | 用于解析類似JSON的日志的工具,以收集唯一的字段和事件。 |
pipeline | 具有扇入和扇出的管線的實作。 |
ptrie | 字首樹的實作。 |
remember-go | 緩存慢速資料庫查詢的通用接口(由redis,memcached,ristretto或記憶體支援)。 |
ring | 圍棋實作了高性能,線程安全的布隆過濾器。 |
roaring | 實施壓縮位集的軟體包。 |
set | 使用LinkedHashMap的圍棋設定簡單的資料結構實作。 |
skiplist | 非常快的Go Skiplist實施。 |
skiplist | Go中的跳過清單實作。 |
timedmap | 具有過期的鍵/值對的地圖。 |
treap | 使用樹堆的持久快速排序的地圖。 |
trie | Go中的Trie實作。 |
ttlcache | 記憶體中的LRU字元串接口{}映射,其中包含golang的到期時間。 |
typ | 空類型,安全的原始類型轉換和從複雜結構中擷取值。 |
willf/bloom | Go包實作Bloom過濾器。 |
- 分布式系統
包 | 說明 |
celeriac | 用于在Go中添加支援以互動和監視Celery工作者,任務和事件的庫。 |
consistent | 具有受限負載的一緻哈希 |
dht | BitTorrent Kademlia DHT實施。 |
digota | grpc電子商務微服務。 |
dot | 使用操作轉換/ OT進行分布式同步。 |
doublejump | 改進後的Google的跳轉一緻性哈希。 |
dragonboat | Go中功能齊全的高性能多組Raft庫。 |
drmaa | 基于DRMAA标準的叢集排程程式的作業送出庫。 |
dynamolock | DynamoDB支援的分布式鎖定實作。 |
dynatomic | 将DynamoDB用作原子計數器的庫。 |
emitter-io | 使用MQTT,Websockets和love建構的高性能,分布式,安全和低延遲的釋出-訂閱平台。 |
flowgraph | 基于流的程式設計包。 |
gleam | 用純圍棋和Luajit快速和可擴充的分布式的map / reduce系統,具有Luajit的高性能結合Go的高并發,單獨運作或分發。 |
glow | 易于使用的可擴充的分布式大資料處理,Map-Reduce,DAG執行,全部在純Go中進行。 |
go-health | health-用于在服務中啟用異步依賴項運作狀況檢查的庫。 |
go-jump | Google的“ Jump”一緻性哈希函數的端口。 |
go-kit | 支援服務發現,負載平衡,可插拔傳輸,請求跟蹤等的微服務工具包 |
go-sundheit | 建立用于支援為golang服務定義異步服務運作狀況檢查的庫。 |
gorpc | 簡單,快速和可擴充的RPC庫,可實作高負載。 |
grpc-go | gRPC的Go語言實作。基于HTTP / 2的RPC。 |
hprose | 十分新穎的RPC庫,現在支援25種以上的語言。 |
jsonrpc | jsonrpc軟體包可幫助實作JSON-RPC 2.0。 |
jsonrpc | JSON-RPC 2.0 HTTP用戶端實作。 |
KrakenD | 具有中間件的超高性能API網關架構。 |
liftbridge | NATS的輕量級,容錯消息流。 |
micro | 可插拔的microService工具箱和分布式系統平台。 |
NATS | 用于微服務,IoT和雲本機系統的輕量級高性能消息傳遞系統。 |
outboxer | Outboxer是一個實作庫模式的go庫。 |
pglock | PostgreSQL支援的分布式鎖定實作。 |
raft | HashiCorp的Raft共識協定的Golang實作。 |
raft | ETCD中實作的Raft協定。 |
rain | BitTorrent用戶端和庫。 |
redis-lock | 使用Redis的簡化分布式鎖定實作。 |
resgate | 用于建構REST,實時和RPC API的實時API網關,其中所有用戶端都可以無縫同步。 |
ringpop-go | Go應用程式的可擴充,容錯應用程式層分片。 |
rpcx | 分布式可插拔RPC服務架構,例如阿裡巴巴Dubbo。 |
sleuth | 用于在HTTP服務之間進行無主p2p自動發現和RPC的庫(ZeroMQ)。 |
tendermint | 高性能中間件,用于使用Tendermint共識和區塊鍊協定将以任何程式設計語言編寫的狀态機轉換為拜占庭容錯複制狀态機。 |
torrent | BitTorrent用戶端軟體包。 |
- 電子郵件
包 | 說明 |
chasquid | 用Go編寫的SMTP伺服器。 |
douceur | CSS内襯為您的HTML電子郵件。 |
email | 用于Go的強大而靈活的電子郵件庫。 |
go-dkim | DKIM庫,用于簽名和驗證電子郵件。 |
go-imap | 用于用戶端和伺服器的IMAP庫。 |
go-message | Internet消息格式和郵件消息的流庫。 |
go-premailer | Go中HTML郵件的内聯樣式。 |
go-simple-mail | 使用SMTP保持活動狀态和兩個逾時發送電子郵件的非常簡單的程式包:連接配接和發送。 |
Hectane | 提供HTTP API的輕型SMTP用戶端。 |
hermes | Golang軟體包,可生成幹淨的響應式HTML電子郵件。 |
mailchain | 将加密的電子郵件發送到用Go編寫的區塊鍊位址。 |
mailgun-go | Go庫,用于使用Mailgun API發送郵件。 |
MailHog | 通過Web和API界面進行電子郵件和SMTP測試。 |
SendGrid | SendGrid的Go庫,用于發送電子郵件。 |
smtp | SMTP伺服器協定狀态機。 |
- 嵌入式腳本語言
包 | 說明 |
anko | 用Go語言編寫的可編寫腳本的解釋器。 |
binder | 轉到基于gopher-lua的 Lua綁定庫。 |
cel-go | 具有漸進式輸入功能的快速,便攜式,非圖靈完整表達評估。 |
expr | 可以評估表達式的引擎。 |
gentee | 可嵌入的腳本程式設計語言。 |
gisp | Go中的簡單LISP。 |
go-duktape | Go的Duktape JavaScript引擎綁定。 |
go-lua | Lua 5.2 VM到純Go的端口。 |
go-php | Go的PHP綁定。 |
go-python | 與CPython C-API的幼稚go綁定。 |
golua | Lua C API的綁定。 |
gopher-lua | 用Go編寫的Lua 5.1 VM和編譯器。 |
gval | 用Go編寫的高度可定制的表達語言。 |
ngaro | 可嵌入的Ngaro VM實作,支援在Retro中編寫腳本。 |
otto | 用Go編寫的JavaScript解釋器。 |
purl | Go中嵌入的Perl 5.18.2。 |
tengo | 用于Go的位元組碼編譯腳本語言。 |
- 錯誤處理
包 | 說明 |
emperror | Go庫和應用程式的錯誤處理工具和最佳實踐。 |
errlog | 軟體包,用于确定錯誤的負責任的源代碼(以及其他一些快速調試功能)。可插入任何現成的記錄器。 |
errors | 下拉更換為标準庫的錯誤包和github.com/pkg/errors。提供各種錯誤處理原語。 |
errors | 提供簡單錯誤處理原語的軟體包。 |
errors | 簡單golang錯誤處理與分類元。 |
errorx | 具有堆棧跟蹤,錯誤組成等的功能豐富的錯誤包。 |
Falcon | 一個簡單但功能強大的錯誤處理軟體包。 |
go-multierror | Go(golang)軟體包,用于将錯誤清單表示為單個錯誤。 |
tracerr | 帶有堆棧跟蹤和源代碼片段的Golang錯誤。 |
werr | 錯誤包裝程式為Go中的錯誤類型建立了一個包裝程式,該包裝程式捕獲了調用它的檔案,行和堆棧。 |
- 檔案
包 | 說明 |
afero | Go的檔案系統抽象系統。 |
afs | Go的抽象檔案存儲(mem,scp,zip,tar,雲:s3,gs)。 |
bigfile | 檔案傳輸系統,支援使用http api,rpc調用和ftp用戶端管理檔案。 |
checksum | 計算大型檔案的消息摘要,例如MD5和SHA256。 |
flop | 檔案操作庫,旨在與GNU cp鏡像功能奇偶校驗。 |
go-csv-tag | tag-使用标簽加載csv檔案。 |
go-decent-copy | 複制human檔案。 |
go-exiftool | ExifTool的Go綁定,這是衆所周知的庫,用于從檔案(圖檔,PDF,office,…)提取盡可能多的中繼資料(EXIF,IPTC等)。 |
go-gtfs | 在go中加載gtfs檔案。 |
notify | 具有簡單API的檔案系統事件通知庫,類似于os / signal。 |
opc | 為Go加載Open Packaging Conventions(OPC)檔案。 |
parquet | 讀取和寫入 parquet檔案。 |
pdfcpu | PDF 處理器。 |
skywalker | 一種軟體包,允許一個人輕松地同時通過檔案系統。 |
stl | 讀取和寫入STL(立體光刻)檔案的子產品。并發讀取算法。 |
tarfs | tar檔案FileSystem接口的實作。 |
vfs | 跨多種檔案系統類型(例如os,S3和GCS)的Go的一組可插拔,可擴充且自以為是的檔案系統功能。 |
- 金融
包 | 說明 |
accounting | golang的貨币和貨币格式。 |
currency | 高性能和準确的貨币計算包。 |
decimal | 任意精度定點十進制數字。 |
go-finance | Go中的綜合金融市場資料。 |
go-finance | 金融功能庫,用于貨币時間價值(年金),現金流量,利率轉換,債券和折舊計算。 |
go-finance | 擷取匯率,通過VIES檢查增值稅号和檢查IBAN銀行帳号的子產品。 |
go-money | Fowler的Money模式的實作。 |
ofxgo | 查詢OFX伺服器和/或解析響應(使用示例指令行用戶端)。 |
orderbook | 比對引擎的限價訂單在Golang。 |
techan | 具有進階市場分析和交易政策的技術分析庫。 |
transaction | 以多線程模式運作的嵌入式帳戶嵌入式事務資料庫。 |
vat | 增值稅号驗證和歐盟增值稅率。 |
- 遊戲開發
包 | 說明 |
Azul3D | 用Go語言編寫的3D遊戲引擎。 |
Ebiten | Go中死的簡單2D遊戲庫。 |
engo | Engo是用Go語言編寫的開源2D遊戲引擎。它遵循實體元件系統範式。 |
g3n | Go 3D遊戲引擎。 |
GarageEngine | 用Go語言編寫的2D遊戲引擎,可在OpenGL上使用。 |
glop | Glop(權力遊戲庫)是一個相當簡單的跨平台遊戲庫。 |
go-astar | A 路徑查找算法的Go實作。 |
go-collada | Go包,用于Collada檔案格式。 |
go-sdl2 | Simple DirectMedia Layer的 Go綁定。 |
go3d | 用于Go的面向性能的2D/3D數學軟體包。 |
gonet | 使用golang實作的遊戲伺服器架構。 |
goworld | 可擴充的遊戲伺服器引擎,具有空間實體架構和熱插拔功能。 |
Leaf | 輕量級遊戲伺服器架構。 |
nano | 重量輕,裝置,高性能的基于golang遊戲伺服器架構。 |
Oak | Pure Go遊戲引擎。 |
Pitaya | 可擴充的遊戲伺服器架構,具有群集支援和通過C SDK的iOS,Android,Unity等用戶端庫。 |
Pixel | Go中的手工制作2D遊戲庫。 |
raylib-go | 去綁定raylib,簡單和易于使用的庫,以了解電子遊戲程式設計。 |
termloop | Go的基于終端的遊戲引擎,建立在Termbox之上。 |
- 地理位置
包 | 說明 |
geocache | 适用于基于地理位置的應用程式的記憶體中緩存。 |
geoserver | geoserver是Go軟體包,用于通過GeoServer REST API操縱GeoServer執行個體。 |
gismanager | 将 GIS資料(矢量資料)釋出到PostGIS和Geoserver。 |
osm | 用于讀取,編寫和使用OpenStreetMap資料和API的庫。 |
pbf | OpenStreetMap PBF golang編碼器/解碼器。 |
S2 geometry | Go中的S2幾何庫。 |
Tile38 | 具有空間索引和實時地理圍欄的地理位置資料庫。 |
WGS84 | 庫坐标轉換和變換(ETRS89,OSGB36,NAD83,RGF93,網絡墨卡托UTM)。 |
- 編譯器
包 | 說明 |
c4go | 将C代碼轉換為Go代碼。 |
f4go | 将FORTRAN 77代碼轉換為Go代碼。 |
gopherjs | 從Go到JavaScript的編譯器。 |
llgo | Go的基于LLVM的編譯器。 |
tardisgo | Golang轉換為CPP / CSharp / Java / JavaScript轉譯器。 |
- Goroutines
包 | 說明 |
ants | 用于golang的高性能goroutine池。 |
artifex | Golang使用基于工作程式的分派的簡單記憶體中作業隊列。 |
async | 一種異步執行功能的安全方法,以防萬一。 |
breaker | 使執行流程可中斷的靈活機制。 |
cyclicbarrier | 用于golang的CyclicBarrier。 |
go-floc | 輕松編排goroutine。 |
go-flow | 控制goroutine的執行順序。 |
go-tools/multithreading | 使用帶有簡單API的輕量級庫管理goroutine池。 |
go-trylock | 支援Golang的讀寫鎖的TryLock。 |
go-waitgroup | sync.WaitGroup與錯誤處理和并發控制類似。 |
gohive | Go的高性能和易于使用的Goroutine池。 |
gollback | 異步簡單函數實用程式,用于管理閉包和回調的執行。 |
GoSlaves | 簡單和異步Goroutine池庫。 |
goworker | goworker是基于Go的背景工作者。 |
gowp | gowp是并發限制goroutine池。 |
gpool | 管理可調整大小的上下文感覺goroutine池以綁定并發。 |
grpool | 輕巧的Goroutine池。 |
Hunch | 預感提供功能,如:All,First,Retry,Waterfall等等,這使得異步流控制更加直覺。 |
oversight | 監督是Erlang監督樹的完整實作。 |
parallel-fn | 并行運作功能。 |
pool | 有限的消費者goroutine池或無限制的goroutine池,以便更輕松地處理和取消goroutine。 |
queue | 為您提供sync.WaitGroup類似的隊列組可通路性。幫助您節流和限制goroutine,等待所有goroutine結束等等。 |
routine | 具有上下文和支援的例程控制:Main,Go,Pool和一些有用的Executors。 |
semaphore | 基于通道和上下文的具有鎖定/解鎖操作逾時的信号量模式實作。 |
semaphore | 基于CAS的快速可調整大小的信号量實作(比基于通道的信号量實作更快)。 |
stl | 基于軟體交易記憶體(STM)并發控制機制的軟體交易鎖。 |
threadpool | Golang線程池實作。 |
tunny | 線程池golang。 |
worker-pool | goworker是一個簡單的Go異步工作池。 |
workerpool | Goroutine池,它限制了任務執行的并發性,而不是排隊的任務數。 |
- 圖形界面
包 | 說明 |
app | 打包以使用GO,HTML和CSS建立應用的程式。支援:MacOS,Windows正在開發中。 |
fyne | 為Go設計的跨平台本機GUI,使用EFL呈現。支援:Linux,macOS,Windows。 |
go-astilectron | 使用GO和HTML / JS / CSS(由Electron支援)建構跨平台GUI應用。 |
go-gtk | GTK的綁定。 |
go-sciter | Go綁定:用于現代桌面UI開發的可嵌入HTML / CSS / script引擎。跨平台。 |
gotk3 | GTK3的綁定。 |
gowd | 使用GO,HTML,CSS和NW.js進行快速簡單的桌面UI開發。跨平台。 |
qt | Go的Qt綁定(支援Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。 |
ui | Go的平台本地GUI庫。跨平台。 |
Wails | 使用内置OS HTML渲染器的HTML UI的Mac,Windows,Linux桌面應用程式。 |
walk | Go的Windows應用程式庫工具包。 |
webview | 具有簡單雙向JavaScript綁定的跨平台Webview視窗(Windows / macOS / Linux)。 |
go-appindicator | libappindicator3 C庫的Go綁定。 |
gosx-notifier | Go的OSX桌面通知庫。 |
mac-activity-tracker | OSX庫,用于通知計算機上的任何(可插入)活動。 |
mac-sleep-notifier | golang中的OSX睡眠/喚醒通知。 |
robotgo | Go本機跨平台GUI系統自動化。控制滑鼠,鍵盤等。 |
systray | 跨平台的Go庫,用于在通知區域中放置圖示和菜單。 |
trayhost | 跨平台的Go庫,用于在主機作業系統的工作列中放置一個圖示。 |
- 圖檔
包 | 說明 |
bild | 純Go中圖像處理算法的集合。 |
bimg | 使用libvips進行快速有效的圖像處理的小包裝。 |
cameron | Go的頭像生成器。 |
canvas | 将矢量圖形轉換為PDF,SVG或光栅圖像。 |
darkroom | 具有可變存儲後端的圖像代理和側重于速度和彈性的圖像處理引擎。 |
geopattern | 從字元串建立漂亮的生成圖像圖案。 |
gg | 純Go中的2D渲染。 |
gift | 圖像處理過濾器的包裝。 |
gltf | 高效,強大的glTF 2.0讀取器,寫入器和驗證器。 |
go-cairo | 用于cairo圖形庫的綁定。 |
go-gd | GD庫的Go綁定。 |
go-nude | Go的裸露檢測。 |
go-opencv | 用于OpenCV的綁定。 |
go-webcolors | webcolors庫的端口,從Python到Go。 |
gocv | 使用OpenCV 3.3+進行計算機視覺的Go軟體包。 |
goimagehash | Go感覺圖像哈希包。 |
goimghdr | imghdr子產品确定Go檔案中包含的圖像類型。 |
govatar | 用于生成有趣頭像的庫和CMD工具。 |
image2ascii | 将圖像轉換為ASCII。 |
imagick | 綁定到ImageMagick的MagickWand C API。 |
imaginary | 用于圖像大小調整的快速,簡單的HTTP微服務。 |
imaging | 簡單的Go圖像處理包。 |
img | 選擇圖像處理工具。 |
ln | Go中的3D線條藝術渲染。 |
mergi | 用于圖像處理(合并,裁切,調整大小,水印,動畫)的Tool&Go庫。 |
mort | 用Go編寫的存儲和圖像處理伺服器。 |
mpo | 用于MPO 3D照片的解碼器和轉換工具。 |
picfit | 用Go編寫的圖像大小調整伺服器。 |
pt | 用Go語言編寫的路徑跟蹤引擎。 |
resize | 使用常見的插值方法為Go 調整圖像大小。 |
rez | 在純Go和SIMD中調整圖像大小。 |
smartcrop | 查找适合任何圖像和尺寸的優質作物。 |
steganography | 用于LSB隐寫術的Pure Go庫。 |
stegify | 用于LSB隐寫術的Go工具,能夠隐藏圖像中的任何檔案。 |
svgo | 用于SVG生成的Go語言庫。 |
tga | 軟體包tga是TARGA圖像格式的解碼器/編碼器。 |
- 物聯網
包 | 說明 |
connectordb | 量化自我和物聯網的開源平台。 |
devices | IoT裝置庫套件,針對x / exp / io進行實驗。 |
eywa | Project Eywa本質上是一個連接配接管理器,用于跟蹤連接配接的裝置。 |
flogo | Project Flogo是一個用于IoT Edge應用和內建的開源架構。 |
gatt | 蓋特是一個圍棋包建構低功耗藍牙外設。 |
gobot | Gobot是機器人技術,實體計算和物聯網的架構。 |
huego | 适用于Go的飛利浦Hue擴充用戶端庫。 |
iot | IoT是用于實作Google IoT Core裝置的簡單架構。 |
mainflux | 工業物聯網消息和裝置管理伺服器。 |
periph | 外設I / O與低級别的主機闆裝置接口。 |
sensorbee | 用于物聯網的輕量級流處理引擎。 |
- JSON格式
包 | 說明 |
ajson | 具有JSONPath支援的golang的抽象JSON。 |
gjo | 用于建立JSON對象的小型實用程式。 |
GJSON | 使用一行代碼擷取JSON值。 |
go-jsonerror | Go-JsonError可讓我們輕松建立遵循JsonApi規範的json響應錯誤。 |
go-respond | Go包,用于處理常見的HTTP JSON響應。 |
gojq | Golang中的 JSON查詢。 |
gojson | 從示例JSON自動生成Go(golang)結構定義。 |
JayDiff | 用Go編寫的JSON diff實用程式。 |
jettison | 用于Go的高性能,無反射JSON編碼器。 |
JSON-to-Go | 将JSON轉換為Go結構。 |
json2go | 進階JSON到Go結構轉換。提供可以解析多個JSON文檔并建立适合所有JSON的結構的包。 |
jsonapi-errors | 根據JSON API錯誤參考進行綁定。 |
jsonf | 突出顯示格式和擷取JSON的結構查詢的控制台工具。 |
jsongo | Fluent API,可以更輕松地建立Json對象。 |
jsonhal | 簡單的Go包,用于将自定義結構編組為HAL相容的JSON響應。 |
kazaam | 用于JSON文檔的任意轉換的API。 |
mp | 簡單的cli電子郵件解析器。目前,它使用标準輸入并輸出JSON。 |
- 機器學習
包 | 說明 |
bayesian | 貝葉斯分類為Golang天真。 |
CloudForest | 快速,靈活,多線程的決策樹集合,用于純Go中的機器學習。 |
eaopt | 進化優化庫。 |
evoli | 遺傳算法和粒子群優化庫。 |
fonet | 用Go編寫的深度神經網絡庫。 |
go-cluster | k模式和k-原型聚類算法的Go實作。 |
go-deep | Go中功能豐富的神經網絡庫 |
go-fann | 快速人工神經網絡(FANN)庫的Go綁定。 |
go-galib | 用Go / golang編寫的遺傳算法庫。 |
go-pr | Go lang中的模式識别包。 |
gobrain | 用go語言編寫的神經網絡 |
godist | 各種機率分布及相關方法。 |
goga | Go的遺傳算法庫。 |
GoLearn | 用于Go的通用機器學習庫。 |
golinear | Go的liblinear綁定。 |
GoMind | Go中的簡單神經網絡庫。 |
goml | Go中的線上機器學習。 |
Goptuna | 用于Go語言編寫的黑盒函數的貝葉斯優化架構。一切都會被優化。 |
goRecommend | 用Go編寫的推薦算法庫。 |
gorgonia | 基于圖形的計算庫,例如Theano for Go,它提供了用于建構各種機器學習和神經網絡算法的原語。 |
gorse | 基于Go編寫的協作過濾的離線推薦系統後端。 |
goscore | 用于PMML的Go Scoring API。 |
gosseract | 使用Tesseract C ++庫的OCR(光學字元識别)軟體包。 |
libsvm | 基于LIBSVM 3.14 libsvm的golang版本衍生作品。 |
neat | 用于增強拓撲神經演化(NEAT)的即插即用,并行Go架構。 |
neural-go | go-在Go中實作的多層感覺器網絡,通過反向傳播進行訓練。 |
ocrserver | 一個簡單的OCR API伺服器,非常容易被Docker和Heroku部署。 |
onnx-go | 轉到開放神經網絡交換(ONNX)的接口。 |
probab | 機率分布函數。貝葉斯推斷。用純Go語言編寫。 |
regommend | 建議和協作過濾引擎。 |
shield | 貝葉斯文本分類器,具有靈活的标記器和Go的存儲後端。 |
tfgo | 易于使用的Tensorflow綁定:簡化了官方Tensorflow Go綁定的使用。在Go中定義計算圖,加載并執行經過Python訓練的模型。 |
Varis | Golang神經網絡。 |
- 金融
包 | 說明 |
unioffice | Pure Go庫,用于建立和處理Office Word(.docx),Excel(.xlsx)和Powerpoint(.pptx)文檔。 |
excelize | Golang庫用于讀取和寫入Microsoft Excel™(XLSX)檔案。 |
go-excel | 一個簡單而輕便的閱讀器,可以将類似于related-db的excel讀取為表格。 |
goxlsxwriter | libxlsxwriter的Golang綁定,用于編寫XLSX(Microsoft Excel)檔案。 |
xlsx | 用于簡化在Go程式中讀取Microsoft Excel最新版本使用的XML格式的庫。 |
xlsx | 在Go程式中快速/安全地讀取/更新您現有的Microsoft Excel檔案的方法。 |
- 自然語言處理
包 | 說明 |
getlang | 快速自然語言檢測程式包。 |
go-i18n | 用于處理本地化文本的軟體包和一個随附工具。 |
go-mystem | CGo與Yandex.Mystem的綁定-俄羅斯形态分析儀。 |
go-nlp | 用于處理離散機率分布的實用程式和其他可用于執行NLP工作的工具。 |
go-pinyin | CN Hanzi至Hanyu拼音轉換器。 |
go-stem | 搬運程式阻止算法的實作。 |
go-unidecode | Unicode文本的ASCII音譯。 |
go2vec | 用于word2vec嵌入的閱讀器和實用程式功能。 |
gojieba | 這是一個圍棋實施解霸其中中國分詞算法。 |
golibstemmer | 雪球庫libstemmer庫的綁定,包括porter 2。 |
gotokenizer | 基于字典和Goram語言的Bigram語言模型的标記器。(現在僅支援中文細分) |
gounidecode | Go的Unicode音譯器(也稱為unidecode)。 |
gse | 進行有效的文本分割;支援英語,中文,日語等。 |
icu | CGO結合為ICU4C C庫檢測和轉換功能。保證與版本50.1相容。 |
kagome | 用純Go語言編寫的JP形态分析儀。 |
libtextcat | libtextcat C庫的Cgo綁定。保證與2.2版相容。 |
MMSEGO | 這是MMSEG的GO實作,它是中文分詞算法。 |
nlp | 從字元串中提取值,并用nlp填充您的結構。 |
nlp | 支援LSA(潛在語義分析)的自然語言處理庫。 |
paicehusk | Paice / Husk提取算法的Golang實作。 |
petrovich | 彼得羅維奇(Petrovich)是庫,在給定的文法情況下使用俄語名稱。 |
porter | 這是Martin Porter的Porter幹算法的C實作的相當簡單的移植。 |
porter2 | 非常快的Porter 2 提取器。 |
prose | 用于文本處理的庫,支援标記化,詞性标記,命名實體提取等。僅限英語。 |
RAKE.go | 快速自動關鍵字提取算法(RAKE)的Go端口。 |
segment | 用于執行Unicode标準附件#29中所述的Unicode文本分段的Go庫 |
sentences | 句子标記器:将文本轉換為句子清單。 |
shamoji | shamoji是用Go編寫的單詞過濾程式包。 |
snowball | Go的雪球莖端口(cgo包裝器)。提供單詞詞幹提取功能Snowball本機。 |
stemmer | 用于Go程式設計語言的Stemmer軟體包。包括英語和德語詞幹。 |
textcat | Go軟體包,用于基于n-gram的文本分類,并支援utf-8和原始文本。 |
whatlanggo | Go的自然語言檢測程式包。支援84種語言和24種腳本(書寫系統,例如拉丁語,西裡爾字母等)。 |
when | 自然EN和RU語言日期/時間分析器具有可插拔的規則。 |
- 網絡
包 | 說明 |
arp | 包arp實作ARP協定,如RFC 826中所述。 |
buffstreams | 通過TCP流化協定緩沖區資料變得容易。 |
canopus | CoAP用戶端/伺服器實施(RFC 7252)。 |
cidranger | Go的快速IP到CIDR查找。 |
dhcp6 | 軟體包dhcp6實作了DHCPv6伺服器,如RFC 3315中所述。 |
dns | 使用DNS的Go庫。 |
ether | 用于發送和接收以太網幀的跨平台Go軟體包。 |
ethernet | 程式包ethernet實施IEEE 802.3以太網II幀和IEEE 802.1Q VLAN标簽的封送處理。 |
fasthttp | 軟體包fasthttp是Go的一種快速HTTP實作,比net / http快10倍。 |
fortio | 負載測試庫和指令行工具,進階回顯伺服器和Web UI。允許指定設定的每秒查詢負載,并記錄延遲直方圖和其他有用的統計資料并對其進行圖形化。Tcp,Http,gRPC。 |
ftp | 程式包ftp實作RFC 959中所述的FTP用戶端。 |
gev | gev是基于Reactor模式的輕量級,快速,無阻塞的TCP網絡庫。 |
gmqtt | Gmqtt是一個靈活的高性能MQTT代理庫,它完全實作了MQTT協定V3.1.1。 |
gnet | gnet是一個高性能的,用純圍棋輕便,非阻塞,事件循環網絡庫。 |
gNxI | 使用gNMI和gNOI協定的網絡管理工具的集合。 |
go-getter | Go庫,用于使用URL從各種來源下載下傳檔案或目錄。 |
go-powerdns | Golang的 PowerDNS API綁定。 |
go-stun | STUN用戶端的Go實作(RFC 3489和RFC 5389)。 |
gobgp | 使用Go程式設計語言實作的BGP。 |
golibwireshark | 軟體包golibwireshark使用libwireshark庫來解碼pcap檔案并分析解剖資料。 |
gopacket | Go庫,用于使用libpcap綁定進行資料包處理。 |
gopcap | libpcap的包裝器。 |
goshark | 軟體包goshark使用tshark解碼IP資料包并建立資料結構以分析資料包。 |
gosnmp | 用于執行SNMP操作的本機Go庫。 |
gosocsvr | 套接字伺服器變得簡單。 |
gotcp | 用于快速編寫tcp應用程式的Go軟體包。 |
grab | 用于管理檔案下載下傳的軟體包。 |
graval | 實驗性FTP伺服器架構。 |
HTTPLab | HTTPLabs可讓您檢查HTTP請求并僞造響應。 |
iplib | 受python ipaddress和ruby ipaddr啟發而使用IP位址(net.IP,net.IPNet)的庫 |
jazigo | Jazigo是用Go語言編寫的工具,用于檢索多個網絡裝置的配置。 |
kcp-go | KCP-快速可靠的ARQ協定。 |
kcptun | 基于KCP協定的極其簡單和快速的udp隧道。 |
lhttp | 強大的websocket架構,可更輕松地建構IM伺服器。 |
linkio | 用于讀取器/寫入器接口的網絡連結速度模拟。 |
llb | 這是代理伺服器的非常簡單但快速的後端。對于零記憶體配置設定和快速響應的快速重定向到預定義域很有用。 |
mdns | Golang中的簡單mDNS(多點傳播DNS)用戶端/伺服器庫。 |
mqttPaho | Paho Go用戶端提供了一個MQTT用戶端庫,用于通過TCP,TLS或WebSockets連接配接到MQTT代理。 |
NFF-Go | 用于快速開發雲和裸機(以前的YANFF)的高性能網絡功能的架構。 |
packet | 通過TCP和UDP發送資料包。如果需要,它可以緩沖消息和熱交換連接配接。 |
peerdiscovery | Pure Go庫,用于使用UDP多點傳播的跨平台本地對等發現。 |
portproxy | 簡單的TCP代理,它将不支援它的API添加到CORS支援中。 |
publicip | 軟體包publicip傳回您的面向公衆的IPv4位址(網際網路出口)。 |
quic-go | 在純Go中實作QUIC協定。 |
raw | 包raw允許在裝置驅動程式級别為網絡接口讀取和寫入資料。 |
sftp | 程式包sftp實作SSH檔案傳輸協定,如https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt |
ssh | 用于建構SSH伺服器的進階API(包裝crypto / ssh)。 |
sslb | 這是一個超級簡單的負載均衡器,隻是一個實作某種性能的小項目。 |
stun | 實施RFC 5389 STUN協定。 |
tcp_server | 用于更快地建構tcp伺服器的Go庫。 |
tspool | TCP庫使用工作池來提高性能并保護您的伺服器。 |
utp | 圍棋UTP微傳輸協定的實作。 |
water | 簡單的TUN / TAP庫。 |
webrtc | WebRTC API的純Go實作。 |
winrm | 進入WinRM用戶端以在Windows計算機上遠端執行指令。 |
xtcp | 具有同步全雙工通信,安全關閉,自定義協定的TCP Server Framework。 |
- 視訊
包 | 說明 |
go-astisub | 在GO中處理字幕(.srt,.stl,.ttml,.webvtt,.ssa / .ass,圖文電視,.smi等)。 |
go-astits | 在GO中本地解析和解複用MPEG傳輸流(.ts)。 |
go-m3u8 | Apple m3u8播放清單的解析器和生成器庫。 |
goav | FFmpeg的綜合Go綁定。 |
gst | GStreamer的綁定。 |
libgosubs | go的字幕格式支援。支援.srt,.ttml和.ass。 |
libvlc-go | libvlc 2.X / 3.X / 4.X的綁定(由VLC媒體播放器使用)。 |
m3u8 | Apple HLS的M3U8播放清單的解析器和生成器庫。 |
v4l | 用Go編寫的Linux視訊捕獲庫。 |
開源書籍
書籍名 | 推薦理由 |
Go palyground | 不用搭建本地 Go 環境,線上就編寫 Go 的代碼 |
Go實戰開發 | 作者是著名的 Go 開源項目 beego 的作者,他的最佳實踐非常值得閱讀 |
Go Web 程式設計 | 跟前面一本書作者是同一位,講的是web開發 |
Go語言标準庫 | 對标準庫的介紹 |
Go入門指南 | 比較适合新手,内容相對基礎一些 |
Go語言聖經 | 書如其名 |
Go語言中文網 | 找對圈子,學的更快 |
菜鳥教程 | 這個網站非常适合快速上手某門語言 |
Go語言進階程式設計 | 内容适合進階 |
go語言原本 | 歐神出品,雖然号稱進度隻有9.9%/100%,但不妨礙它的優秀,值得一看 |
golang設計模式 | 設計模式 Golang實作,《研磨設計模式》的golang實作 |