Open source programming language created at Google in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. It is a compiled, statically typed language in the tradition of Algol and C, with garbage collection, limited structural typing, memory safety features and CSP-style concurrent programming features added
Official site: https://golang.org/
-
Easy to deploy, surports cross-compilation.
部署简单,跨平台编译。Go编译生成各流行操作系统的二进制文件,直接运行即可,无依赖。
-
High performance.
高性能。
-
Statically Typeed.
静态类型语言。
-
Concurrency of language level.
语言级别的并发支持。
-
Good language design, full tool-chains.
关键字少,语法简单,工具链完善。
-
Embedded runtime, has Garbage Collection.
内置runtime,支持GC。
- Lacking of bioinformatical libraries, you may reinvent wheels.
- To be added...
You should try if you
- Want to write some high-performance tools in short time.
- Want to protect your source code.
- Tired of complicated installation, deployment and configuration process.
- Tired of bewildering symbols of Perl, and slow speed of Python.
- Tired of the long compilation time and complication of C++.
You may think carefully if you
- Have no programming experience.
- Want to write tools with GUI.
Golang in Bioinformatcis
- Why are 'Cool Kids' at Github Moving to GO Language?
- Learning golang for bioinformatics
- Question: Bioinformatics Tutorials Utilizing The Go ( Of Google Fame ) Programming Language
Golang
- What are the advantages and disadvantages of Go programming language?
- A Closer Look at Golang From an Architect’s Perspective
- 为什么要使用 Go 语言?Go 语言的优势在哪里?
- GoBooks - List of Golang books
- An Introduction to Programming in Go
Libraries
- biogo - biogo is a bioinformatics library for Go
- bio - A lightweight and high-performance bioinformatics package in Go
- irelate - Streaming relation (overlap, distance, KNN) of (any number of) sorted genomic interval sets. #golang
- hts - biogo high throughput sequencing repository
- cfgo - a golang library to read, write and manipulate files in the variant call format.
Tools
- vcfanno - annotate a VCF with other VCFs/BEDs/tabixed files
- SeqKit - A cross-platform and ultrafast toolkit for FASTA/Q file manipulation in Golang http://shenwei356.github.io/seqkit
- gsort - sort genomic data
- fastcov - A novel algorithm for detecting multiple covariance and clustering of biological sequences
Others
- awesome-go - A curated list of awesome Go frameworks, libraries and software http://awesome-go.com/
- shenwei356's awesome-go