../code/conceptPage.scroll id go name Go appeared 2009 creators Rob Pike and Ken Thompson and Robert Griesemer tags pl website https://go.dev/ spec https://go.dev/ref/spec latestVersion 1.22.3 blog https://go.dev/blog/ releaseNotes https://go.dev/doc/devel/release download https://go.dev/dl/ webRepl https://go.dev/play aka golang lab Google fileExtensions go writtenIn go assembly-language c markdown json bash html bourne-shell javascript perl yaml make css logos dockerfile cpp fortran-90 csv python objective-c awk matlab leetSheets https://cheatsheets.zip/go isOpenSource true exercism https://exercism.org/tracks/go tryItOnline https://tio.run/#go gdbSupport true visualParadigm false clocExtensions go ʕ◔ϖ◔ʔ fileType text wordRank 123 docs https://devdocs.io/go/ emailList https://groups.google.com/g/golang-nuts faq https://go.dev/doc/faq antlr https://github.com/antlr/grammars-v4/tree/master/golang monaco go codeMirror go rosettaCode http://www.rosettacode.org/wiki/Category:Go quineRelay Go replit https://repl.it/languages/go ubuntuPackage golang repoStats firstCommit 1972 commits 63823 committers 2696 files 13255 newestCommit 2024 proposals https://github.com/golang/proposal projectEuler Go memberCount 2019 1313 2022 1768 helloWorldCollection Go // Hello world in Go package main import "fmt" func main() { fmt.Printf("Hello World\n") } pygmentsHighlighter Go filename go.py fileExtensions go rijuRepl https://riju.codes/go example package main import "fmt" func main() { fmt.Println("Hello, world!") } twitter https://twitter.com/golang leachim6 Go filepath g/Go.go fileExtensions go example package main import "fmt" func main() { fmt.Println("Hello World") } gource https://www.youtube.com/watch?v=2FwdgwMMCv4 languageServerProtocolProject https://github.com/golang/tools/tree/master/gopls writtenIn go languageServerProtocolProject https://github.com/sourcegraph/go-langserver writtenIn go compilerExplorer Go example // Type your code here, or load an example. // Your function name should start with a capital letter. package main func Square(x int) int { return x * x } func main() {} githubCopilotOptimized true meetup https://www.meetup.com/topics/golang memberCount 147668 groupCount 315 keywords break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var githubRepo https://github.com/golang/go stars 121611 forks 17413 subscribers 3418 created 2014 updated 2024 description The Go programming language issues 9580 lineCommentToken // multiLineCommentTokens /* */ printToken fmt.Println assignmentToken = stringToken " hasStrings true "hello world" hasPointers true package main import "fmt" func main() { i, j := 42, 2701 p := &i // point to i fmt.Println(*p) // read i through the pointer *p = 21 // set i through the pointer fmt.Println(i) // see the new value of i p = &j // point to j *p = *p / 37 // divide j through the pointer fmt.Println(j) // see the new value of j } hasComments true // A comment hasMultiLineComments true /* A comment */ hasBooleans true c := true hasIntegers true i, j := 42, 2701 hasIncrementAndDecrementOperators true i := 0 i++ i-- hasImports true import ( "fmt" "math" ) import . "fmt" import _ "io" import log "github.com/foo/bar" import m "math" hasOperatorOverloading false hasSemanticIndentation false hasCaseInsensitiveIdentifiers false hasLists true myList := []int{1, 2, 3} hasTypeInference true hasVariadicFunctions true // This variadic function takes an arbitrary number of ints as arguments. func sum(nums ...int) { fmt.Print("The sum of ", nums) // Also a variadic function. total := 0 for _, num := range nums { total += num } fmt.Println(" is", total) // Also a variadic function. } hasLineComments true // A comment hasMessagePassing true hasPrintDebugging true hasAssignment true isCaseSensitive true hasConstants true hasSwitch true hasConditionals true hasOctals true // 0[0-7]+ hasHexadecimals true // 0[xX][0-9a-fA-F]+ hasFloats true // \d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+) hasStandardLibrary true fmt.Println("Hello, World!") jupyterKernel https://github.com/yunabe/lgo jupyterKernel https://github.com/takluyver/igo jupyterKernel https://github.com/fabian-z/gopherlab jupyterKernel https://github.com/gopherdata/gophernotes wikipedia https://en.wikipedia.org/wiki/Go_(programming_language) example package main import ( "fmt" "time" ) func readword(ch chan string) { fmt.Println("Type a word, then hit Enter.") var word string fmt.Scanf("%s", &word) ch <- word } func timeout(t chan bool) { time.Sleep(5 * time.Second) t <- true } func main() { t := make(chan bool) go timeout(t) ch := make(chan string) go readword(ch) select { case word := <-ch: fmt.Println("Received", word) case <-t: fmt.Println("Timeout.") } } related assembly-language linux freebsd solaris alef apl bcpl c csp limbo modula newsqueak oberon occam pascal python smalltalk crystal algol unix java utf-8 csharp rust erlang chapel cilk mongodb standard-ml cobol fortran scala dart summary Go (often referred to as golang) is a programming language created at Google in 2009 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. The compiler and other language tools originally developed by Google are all free and open source. pageId 25039021 dailyPageViews 2602 created 2009 backlinksCount 1153 revisionCount 1802 appeared 2009 fileExtensions go tiobe Go currentRank 14 pypl Go domainName go.dev githubBigQuery Go repos 91470 users 44945 linguistGrammarRepo https://github.com/AlanQuatermain/go-tmbundle firstCommit 2009 lastCommit 2013 committerCount 21 commitCount 194 sampleCount 3 example // Autogenerated by Thrift Compiler (1.0.0-dev) // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING package linguist import ( "bytes" "fmt" "git.apache.org/thrift.git/lib/go/thrift" ) // (needed to ensure safety because of naive import list construction.) var _ = thrift.ZERO var _ = fmt.Printf var _ = bytes.Equal func init() { } isbndb 5 year|publisher|title|authors|isbn13 2012|iUniverse|The Way To Go: A Thorough Introduction To The Go Programming Language|Balbaert, Ivo|9781469769165 2016|Packt Publishing|Go Programming Blueprints: Build real-world, production-ready solutions in Go using cutting-edge technology and techniques, 2nd Edition|Ryer, Mat|9781786468949 2013|Apress|TouchDevelop: Programming on the Go (Expert's Voice in Web Development)|Horspool, Nigel and Tillmann, Nikolai and Bishop, Judith|9781430261360 2016|Manning Publications|Go Web Programming|Chang, Sau Sheong|9781617292569 2015|Packt Publishing|Go Programming Blueprints|Ryer, Mat|9781783988020 githubLanguage Go fileExtensions go trendingProjects author name avatar url language languageColor stars forks currentPeriodStars description vmware octant https://github.com/vmware.png https://github.com/vmware/octant Go #00ADD8 2406 121 2308 "A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters." quii learn-go-with-tests https://github.com/quii.png https://github.com/quii/learn-go-with-tests Go #00ADD8 7624 769 3121 "Learn Go with test-driven development" cnlh nps https://github.com/cnlh.png https://github.com/cnlh/nps Go #00ADD8 7403 1139 2253 一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。 iawia002 annie https://github.com/iawia002.png https://github.com/iawia002/annie Go #00ADD8 7577 733 681 "👾 Fast, simple and clean video downloader" sqshq sampler https://github.com/sqshq.png https://github.com/sqshq/sampler Go #00ADD8 6099 267 3394 "A tool for shell commands execution, visualization and alerting. Configured with a simple YAML file." fatedier frp https://github.com/fatedier.png https://github.com/fatedier/frp Go #00ADD8 27370 4960 1262 "A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet." prometheus prometheus https://github.com/prometheus.png https://github.com/prometheus/prometheus Go #00ADD8 26226 3783 739 "The Prometheus monitoring system and time series database." unknwon the-way-to-go_ZH_CN https://github.com/unknwon.png https://github.com/unknwon/the-way-to-go_ZH_CN Go #00ADD8 17200 4782 746 "《The Way to Go》中文译本,中文正式名《Go 入门指南》" grafana loki https://github.com/grafana.png https://github.com/grafana/loki Go #00ADD8 7087 469 299 "Like Prometheus, but for logs." wtfutil wtf https://github.com/wtfutil.png https://github.com/wtfutil/wtf Go #00ADD8 10146 521 1603 "The personal information dashboard for your terminal." crawlab-team crawlab https://github.com/crawlab-team.png https://github.com/crawlab-team/crawlab Go #00ADD8 2390 346 1549 "Distributed web crawler admin platform for spiders management regardless of languages and frameworks." kubernetes minikube https://github.com/kubernetes.png https://github.com/kubernetes/minikube Go #00ADD8 15590 2460 446 "Run Kubernetes locally" golang go https://github.com/golang.png https://github.com/golang/go Go #00ADD8 63142 8820 1596 "The Go programming language" kubernetes kubernetes https://github.com/kubernetes.png https://github.com/kubernetes/kubernetes Go #00ADD8 57528 20099 1425 "Production-Grade Container Scheduling and Management" Dreamacro clash https://github.com/Dreamacro.png https://github.com/Dreamacro/clash Go #00ADD8 3405 467 279 "A rule-based tunnel in Go." developer-learning reading-go https://github.com/developer-learning.png https://github.com/developer-learning/reading-go Go #00ADD8 4682 446 274 "Go 夜读 > Share the related technical topics of Go every week through zoom online live broadcast, every day on the WeChat/Slack to communicate programming technology topics. 每周通过 zoom 在线直播的方式分享 Go 相关的技术话题,每天大家在微信/Slack 上及时沟通交流编程技术话题。" istio istio https://github.com/istio.png https://github.com/istio/istio Go #00ADD8 19423 3336 565 "Connect, secure, control, and observe services." pulumi pulumi https://github.com/pulumi.png https://github.com/pulumi/pulumi Go #00ADD8 3364 164 217 "Modern Infrastructure as Code - Create, deploy, and manage infrastructure on any cloud using your favorite language." nsqio nsq https://github.com/nsqio.png https://github.com/nsqio/nsq Go #00ADD8 16146 2111 294 "A realtime distributed messaging platform" FiloSottile mkcert https://github.com/FiloSottile.png https://github.com/FiloSottile/mkcert Go #00ADD8 20261 740 503 "A simple zero-config tool to make locally trusted development certificates with any names you'd like." urfave cli https://github.com/urfave.png https://github.com/urfave/cli Go #00ADD8 11779 946 437 "A simple, fast, and fun package for building command line apps in Go" drone drone https://github.com/drone.png https://github.com/drone/drone Go #00ADD8 19329 1908 347 "Drone is a Container-Native, Continuous Delivery Platform" goproxy goproxy.cn https://github.com/goproxy.png https://github.com/goproxy/goproxy.cn Go #00ADD8 1062 54 477 "The most trusted Go module proxy in China." cortexproject cortex https://github.com/cortexproject.png https://github.com/cortexproject/cortex Go #00ADD8 1834 220 224 "A multitenant, horizontally scalable Prometheus as a Service" aquasecurity trivy https://github.com/aquasecurity.png https://github.com/aquasecurity/trivy Go #00ADD8 2130 148 443 "A Simple and Comprehensive Vulnerability Scanner for Containers, Suitable for CI" trendingProjectsCount 26 type programming aceMode golang codemirrorMode go codemirrorMimeType text/x-go tmScope source.go aliases golang repos 1083789 indeedJobs go engineer 2017 1284 linkedInSkill go 2018 511898 stackOverflowSurvey 2021 users 7879 medianSalary 75669 fans 15788 percentageUsing 0.09 semanticScholar 26 year|title|doi|citations|influentialCitations|authors|paperId 1974|Structured Programming with go to Statements|10.1145/356635.356640|685|25|D. Knuth|3fdae4603265209ddf420cfaa9cbd0286c567c6c 2008|When good instructions go bad: generalizing return-oriented programming to RISC|10.1145/1455770.1455776|403|28|E. Buchanan and Ryan Roemer and H. Shacham and S. Savage|bc6be5f3f1cf582c3613e3c7de6a793947335854 2014|The Go Programming Language|10.1109/MS.2014.127|278|7|Jeffrey H. Meyerson|e2c3ace95d91ea0d25abce56d7c3e71201c87229 2016|Static deadlock detection for concurrent go by global session graph synthesis|10.1145/2892208.2892232|54|2|Nicholas Ng and N. Yoshida|f3902b140f40cf972cb4f3a5489c9ca45b9ed867 2018|A Static Verification Framework for Message Passing in Go Using Behavioural Types|10.1145/3180155.3180157|50|2|J. Lange and Nicholas Ng and Bernardo Toninho and N. Yoshida|e1a8c301be733b9a413dc21c45c1f013c5f81f94 2019|Understanding Real-World Concurrency Bugs in Go|10.1145/3297858.3304069|45|4|Tengfei Tu and Xiaoyu Liu and Linhai Song and Yiying Zhang|246a2af5c477396f52a7af39e3c6a26049ae3310 2010|GoHotDraw: evaluating the Go programming language with design patterns|10.1145/1937117.1937127|23|1|Frank Schmager and N. Cameron and J. Noble|ae564736323308356b53aefc2afc67a0764555f2 2012|Go at Google|10.1145/2384716.2384720|22|0|R. Pike|8d058d199185c3cbb9446a4ce486a765bd242aa2 2019|An Empirical Study of Messaging Passing Concurrency in Go Projects|10.1109/SANER.2019.8668036|22|1|Nicolas Dilley and J. Lange|a7029d89d1032c66412872fd17caa45ae635d6f6 2020|Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?|10.1145/3377811.3380352|19|1|Nischal Shrestha and Colton Botta and Titus Barik and Chris Parnin|112353453760498067a78e5e53220b7a11df9db4 2014|Concurrency in Go and Java: Performance analysis|10.1109/ICIST.2014.6920368|16|4|Naohiro Togashi and V. Klyuev|4b73e80c19f9cbb3881379f73e4bb134ea9d3cf8 2014|Architecture-Based Code Generation: From π-ADL Architecture Descriptions to Implementations in the Go Language|10.1007/978-3-319-09970-5_13|14|1|Everton Cavalcante and F. Oquendo and T. Batista|b52c76f904dfd05395d17e2489614bc59ca99f29 2014|bíogo: a simple high-performance bioinformatics toolkit for the Go language|10.1101/005033|12|1|R. Kortschak and Josh Bleecher Snyder and Manolis Maragkakis and D. Adelson|92c2f9e43a3799392a963d437adf3901ea6dc3d1 2011|Deferred gratification: engineering for high performance garbage collection from the get go|10.1145/1988915.1988930|11|0|Ivan Jibaja and S. Blackburn and M. Haghighat and K. McKinley|6d712e3ccc708a2e7bcda5c2056ccfab43af8270 2017|FML-based Dynamic Assessment Agent for Human-Machine Cooperative System on Game of Go|10.1142/S0218488517500295|11|0|Chang-Shing Lee and Mei-Hui Wang and Sheng-Chi Yang and Pi-Hsia Hung and Su-Wei Lin and Nan Shuo and N. Kubota and Chun-Hsun Chou and P. Chou and Chia-Hsiu Kao|2e99badd048590ded429bb08889538270241bbfd 2020|Static Race Detection and Mutex Safety and Liveness for Go Programs (Artifact)|10.4230/DARTS.6.2.12|10|1|Julia Gabet and N. Yoshida|a5c89ffa3121aec2eace5f64cb75d915ee12a21c 2020|goDASH — GO Accelerated HAS Framework for Rapid Prototyping|10.1109/QoMEX48832.2020.9123103|7|0|Darijo Raca and Maëlle Manifacier and Jason J. Quinlan|90e3d263241111cff7064037a0ade6b00323bb80 2021|GoBench: A Benchmark Suite of Real-World Go Concurrency Bugs|10.1109/CGO51591.2021.9370317|7|3|Ting Yuan and Guangwei Li and Jie Lu and Chen Liu and Lian Li and Jingling Xue|c1bcb1da18bda80a92790a79bdff362980f731fd 2018|Two-Phase Dynamic Analysis of Message-Passing Go Programs Based on Vector Clocks|10.1145/3236950.3236959|6|0|M. Sulzmann and K. Stadtmüller|e1116fdac1e58415c62e21c83f2d6bc5aab08035 2017|Trace-Based Run-Time Analysis of Message-Passing Go Programs|10.1007/978-3-319-70389-3_6|5|1|M. Sulzmann and K. Stadtmüller|8185a6664d62ae017910c8960c302ed7ffac8e40 2020|Bounded verification of message-passing concurrency in Go using Promela and Spin|10.4204/EPTCS.314.4|4|0|Nicolas Dilley and J. Lange|d98f1cf4376c7de5e65391c3d1fa372b03540b49 2015|PARAGON: an approach for parallelization of power system contingency analysis using Go programming language|10.1002/ETEP.1999|4|1|S. Khaitan and J. McCalley|aec59c18d84b2544e119a6ad663b4c5865cca060 2020|Static Race Detection and Mutex Safety and Liveness for Go Programs (extended version)|10.4230/LIPIcs.ECOOP.2020.4|3|1|Julia Gabet and N. Yoshida|6eef6ecf97976770bc407850aeb6f47ee8ccb19c 2017|Overview of the Go Language|10.1007/978-1-4842-2692-6_2|3|1|J. Newmarch|e8230750cd61b5972228841186cacfdb856fa4d1 2011|Pattern matching for object-like structures in the Go programming language|10.1145/2069172.2069180|2|0|Chanwit Kaewkasi and Pitchaya Kaewkasi|1787cbbc350b8f812633b14dba353cc4659bccfa null|Evaluating the GO Programming Language with Design Patterns|10.26686/wgtn.16984801|1|0|Frank Schmager|ab5a1cf83194c5180bf9d0d992fe2514dfd54fe3