- 常用包
| 常用包 | 说明 |
|---|---|
| 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服务器,这在传统语言中是无法想象的。 |
- 常用第三方包
- 必看项目
| 项目 | 地址 | 说明 |
|---|---|---|
| gin | github.com/olivere/elastic | 轻量级web框架,很多公司都是基于它进行魔改 |
| beego | github.com/beego/beego | 也是web框架,比较全能 |
| kratos | github.com/go-kratos/kratos | bilibili开源的微服务框架,b站出品必属于精品 |
| TiDB | github.com/pingcap/tidb | 见识过mysql性能瓶颈之后你会想要选择的一款数据库 |
- 完整标准库列表
| 包 | 子包 | 说明 |
|---|---|---|
| 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编码的文本的函数和常数 |
- 其他优秀的开源工具分类
- 音频和音乐
| 包 | 说明 |
|---|---|
| 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 | 围棋实施筏一致协议,由CoreOS的。 |
| 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电子邮件。 |
| 用于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 interface接口的实现。 |
| 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的基于终端的游戏引擎,建 |
