Go (pian-têng gú-giân)

Lohankhapedia (自由的百科全書) 欲共你講..。
跳至導覽 跳至搜尋
Go (編程語言)
編程範型 Multi-paradigm: concurrent imperative面向tohiong[1][2]
軟體設計 Robert Griesemer
Rob Pike
Ken Thompson
程式員 The Go Authors[3]
首次發行 2009 年 11月 10日;​ 14年 以前​ (2009-11-10)
穩定
版本
類型系統 Inferredstaticstrong,[4] structural,[5][6] nominal
實作語言 Go,Assembly language (gc); C++ (gofrontend)
OS DragonFly BSDFreeBSDLinuxmacOSNetBSDOpenBSD,[7] Plan 9,[8] SolarisWindows
軟體授權 3-clause BSD[3] + patent grant[9]
文件擴展名 .go
主要 語言實做
gc, gofrontend
影響語言
Odin,CrystalZig

Go (編程 (pian-tîng)語言 (gú-giân)) (英語 (ing-gú): Go (programming language)) ()一種 (tsi̍t-tsióng)靜態 (tsīng-thài)類型 (luī-hîng) (ê)編譯 (pian-i̍k)編程語言, ()Robert Griesemer, Rob Pike (kah)Ken Thompson (teh)Google[10] (sóo)設計 (siat-kè).[11] Go咧語法 (gú-huat) (siōng)類似 (luī-sū)C毋閣 (m̄-koh)具有 (kū-iú)內存 (lāi-tsûn)安全 (an-tsuân)糞埽 (pùn-sò)收集 (siu-tsi̍p)結構 (kiat-kòo)類型,[5] 佮CSP風格 (hong-keh)並發性 (pīng-huat-sìng).[12] Go通常 (thong-siông) (hông)叫做 (kiò-tsò)Golang,因為 (in-uī)Go以前 (í-tsîng)譯名 (i̍k-miâ)是golang.org,毋舉 (m̄-kú)Go的正確 (tsìng-khak)盟稱 (bîng-tshing)是Go.[13]

(Ū)兩个 (nn̄g-ê)主要 (tsú-iàu)實現 (si̍t-hiān):

  • Google的 (tsū)託管 (thok-kuán)[14] "gc" 編譯器 (pian-i̍k-khì)工具練 (kang-kū-liān)針對 (tsiam-tuì)正濟 (tsiann-tsē)操作 (tshau-tsok)系統 (hē-thóng) (kah)WebAssembly.[15]
  • gofrontend,其他 (kî-thann)編譯khìê前端 (tsiân-tuan)扎有 (tsah-ū)libgo khò͘。對於 (tuì-î) Pang-bô͘:Ill組合 (tsoo-ha̍p)是gccgo;[16] 對於LLVM,組合是gollvm.[17][lower-alpha 1]

()3 (hong)原教原 (guân-kàu-guân)編譯器GopherJS,[19] ()Go編譯 (tsò)JavaScript以來 (í-lâi)進行 (tsìn-hîng)前端Web開發 (khai-huat)

歷史 (Li̍k-sú)[修改]

版本 (Pán-pún)控制 (khòng-tsè)[修改]

支持 (Tsi-tshî)逐的 (ta̍k-ê)主要的Go語言版本,一得較 (it-tit-kàu)有兩个閣卡 (koh-khah)新的 (sin-ê)主要版本.[20]

板版 (Pán-pán) 狀態 (Tsōng-thài) 出版 (Tshut-pán)日期 (ji̍t-kî) 為虎 (Uī-hóo)結束 (kiat-sok)
Old version, no longer maintained: go1 Old version, no longer maintained: 結束 2012-03-28 2013-12-01
Old version, no longer maintained: go1.1 Old version, no longer maintained: 結束 2013-05-13 2014-06-18
Old version, no longer maintained: go1.2 Old version, no longer maintained: 結束 2013-12-01 2014-12-10
Old version, no longer maintained: go1.3 Old version, no longer maintained: 結束 2014-06-18 2015-08-19
Old version, no longer maintained: go1.4 Old version, no longer maintained: 結束 2014-12-10 2016-02-17
Old version, no longer maintained: go1.5 Old version, no longer maintained: 結束 2015-08-19 2016-08-15
Old version, no longer maintained: go1.6 Old version, no longer maintained: 結束 2016-02-17 2017-02-16
Old version, no longer maintained: go1.7 Old version, no longer maintained: 結束 2016-08-15 2017-08-24
Old version, no longer maintained: go1.8 Old version, no longer maintained: 結束 2017-02-16 2018-02-16
Old version, no longer maintained: go1.9 Old version, no longer maintained: 結束 2017-08-24 2018-08-24
Old version, no longer maintained: go1.10 Old version, no longer maintained: 結束 2018-02-16 2019-02-25
Old version, no longer maintained: go1.11 Old version, no longer maintained: 結束 2018-08-24 2019-09-03
Old version, no longer maintained: go1.12 Old version, no longer maintained: 結束 2019-02-25 2020-02-25
Old version, no longer maintained: go1.13 Old version, no longer maintained: 結束 2019-09-03 2020-08-11
Old version, no longer maintained: go1.14 Old version, no longer maintained: 結束 2020-02-25 2021-02-16
Old version, no longer maintained: go1.15 Old version, no longer maintained: 結束 2020-08-11 2021-08-16
Old version, no longer maintained: go1.16 Old version, no longer maintained: 結束 2021-02-16 2022-03-15
Old version, no longer maintained: go1.17 Old version, no longer maintained: 結束 2021-08-16 2022-08-02
Older version, yet still maintained: go1.18 Older version, yet still maintained: 為虎 2022-03-15 Q1 2023
Current stable version: go1.19 Current stable version: 現在 2022-08-02 Q3 2023
Future release: go1.20 Future release: 計畫中 Q1 2023 Q1 2024

註釋 (Tsù-sik)[修改]

  1. Using alternative backends reduces compilation speed and Go's control over garbage collection but provides better machine-code optimization.[18]

註解 (Tsù-kái)[修改]

This article incorporates material from the official Go tutorial, which is licensed under the Creative Commons Attribution 3.0 license.
  1. "Is Go an object-oriented language?". April 13, 2019 khòaⁿ--ê. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy. 
  2. "Go: code that grows with grace". June 24, 2018 khòaⁿ--ê. Go is Object Oriented, but not in the usual way. 
  3. 3.0 3.1 "Text file LICENSE". The Go Programming Language. October 5, 2012 khòaⁿ--ê. 
  4. "The Go Programming Language Specification - the Go Programming Language". 
  5. 5.0 5.1 "Why doesn't Go have "implements" declarations?". golang.org. October 1, 2015 khòaⁿ--ê. 
  6. Pike, Rob (December 22, 2014). "Rob Pike on Twitter". March 13, 2016 khòaⁿ--ê. Go has structural typing, not duck typing. Full interface satisfaction is checked and required. 
  7. "lang/go: go-1.4". OpenBSD ports. December 23, 2014. January 19, 2015 khòaⁿ--ê. 
  8. "Go Porting Efforts". Go Language Resources. cat-v. January 12, 2010. January 18, 2010 khòaⁿ--ê. 
  9. "Additional IP Rights Grant". The Go Programming Language. October 5, 2012 khòaⁿ--ê. 
  10. Kincaid, Jason (November 10, 2009). "Google's Go: A New Programming Language踢's Python Meets C++". TechCrunch. January 18, 2010 khòaⁿ--ê. 
  11. "Language Design FAQ". golang.org. January 16, 2010. February 27, 2010 khòaⁿ--ê. 
  12. Metz, Cade (May 5, 2011). "Google Go boldly goes where no code has gone before". The Register. 
  13. "Is the language called Go or Golang?". March 16, 2022 khòaⁿ--ê. The language is called Go. 
  14. "Go 1.5 Release Notes". January 28, 2016 khòaⁿ--ê. The compiler and runtime are now implemented怹Go and assembler, without C. 
  15. "Go 1.11 is Released". August 24, 2018. January 1, 2019 khòaⁿ--ê. 
  16. "Installing GCC: Configuration". December 3, 2011 khòaⁿ--ê. Ada, Go and Objective-C++ are not default languages 
  17. "FAQ: Implementation". golang.org. August 2, 2021. August 2, 2021 khòaⁿ--ê. 
  18. "gollvm § Is gollvm a replacement for the main Go compiler? (gc)". 迄at Google. 
  19. "A compiler from Go都JavaScript for running Go code in a browser: Gopherjs/Gopherjs". GitHub. April 18, 2020. 
  20. "Release History". golang.org. 

Ên (sin)閱獨 (ua̍t-to̍k)[修改]

參閱 (Tsham-ua̍t)[修改]

  • Addison-Wesley
  • List of programming languages
  • Communicating sequential processes
  • Visual Studio Code

外部 (Guā-pōo)連結 (liân-kiat)[修改]

Wikimedia Commons等的相關檔案: Go (programming language)