Go, Google'da 2007 yılından itibaren geliştirilmeye başlayan açık kaynak programlama dilidir. İlk web sitesi golang.org alan adına sahip olduğundan golang ismiyle anılsa da doğru adı Go'dur. Daha çok sistem programlama için tasarlanmış olup, derlenmiş ve statik tipli bir dildir. Kasım 2009'da çıkmıştır. Go derleyicisi "gc", açık kaynak yazılım olarak, Linux, OS X, Windows, bazı BSD ve Unix versiyonları ve ayrıca 2015'ten itibaren akıllı telefonlar için geliştirilmiştir.
![]() | |
Paradigması | Derlenen, , yapısal |
---|---|
İlk çıkışı | 10 Kasım 2009 | )
Tasarımcı | Ken Thompson Robert Griesemer, Rob Pike |
Geliştirici | Google Inc. |
Kararlı sürüm | 1.22.0 (6 Şubat 2024) |
Etkilendikleri | , APL,BCPL,C, CSP, , Modula, , Oberon, , Pascal,Python, Smalltalk |
Platformu | Linux, OS X, Windows, bazı BSD ve Unix versiyonları |
İşletim sistemi | Çapraz platform |
Lisans | BSD lisansı stili |
Olağan dosya uzantıları | .go |
Web sitesi | go.dev |
![image](https://www.wikipedia.tr-tr.nina.az/image/aHR0cHM6Ly93d3cud2lraXBlZGlhLnRyLXRyLm5pbmEuYXovaW1hZ2UvYUhSMGNITTZMeTkxY0d4dllXUXVkMmxyYVcxbFpHbGhMbTl5Wnk5M2FXdHBjR1ZrYVdFdlkyOXRiVzl1Y3k5MGFIVnRZaTh5THpJekwwZHZiR0Z1Wnk1d2JtY3ZNakl3Y0hndFIyOXNZVzVuTG5CdVp3PT0ucG5n.png)
Tarihçe
Dil, Kasım 2009'da duyurulmuştur. Google'ın bazı ürünlerinin sistemlerinde olduğu gibi diğer firmalar tarafından da kullanılmaktadır.
Go, Google mühendisleri Robert Griesemer, Rob Pike ve Ken Thompson tarafından bir deney olarak ortaya çıkarılmış, diğer dillerin bilinen eleştirilerini çözecek ve olumlu özelliklerini koruyacak şekilde tasarlanmıştır. Yeni dil aşağıdaki özellikleri içermekteydi:
- Statik yazılmış, büyük sistemlere ölçeklenebilir olması (Java ve gibi)
- Üretken ve okunabilir olması, çok fazla zorunlu anahtar kelime ve tekrarlamaların kullanılmaması
- Tümleşik geliştirme ortamına ihtiyaç duymaması ancak desteklemesi
- Ağ (networking) ve çoklu işlemleri (multiprocessing) desteklemesi
Yapılan röportajlarda bu üç dil tasarımcısının yeni dili yapmalarındaki motivasyonun, 'daki karmaşıklığı beğenmedikleri için geldiğini belirtmişlerdir.
Go 1.0, Mart 2012'de yayınlanmıştır.
Go'nun şu anki güncel sürümü 8 Şubat 2024'te yayınlanan Go 1.22.0'dır.
Dil tasarımı
Go, C'nin bilinen özelliklerini taşımaktadır ancak yapılan değişiklikler dili basit, kısa ve güvenli hale getirmiştir. Aşağıda Go'yu kısaca tanımlayan özellikler yer almaktadır:
- Söz dizimi ve çevresel kalıpları benimsemesi daha çok benzemektedir:
- Değişken tanımındaki tür belirtimi isteğe bağlıdır. (
int x = 0;
yerinex := 0;
). - Hızlı derleme süresi.
- Uzak paket yöneticisi (
go get
) ve online paket dökümantasyonu.
- Değişken tanımındaki tür belirtimi isteğe bağlıdır. (
- Belirli problemlere ayırt edici yaklaşımlar:
- Dahili eş zamanlılık ilkelleri: light-weight process'lar (goroutines), kanallar ve
select
ifadesi. - Varsayılan olarak statik olarak bağlanmış native binary'ler, ekstra bağımlılıklara ihtiyaç duyulmadan üretilir.
- Dahili eş zamanlılık ilkelleri: light-weight process'lar (goroutines), kanallar ve
Söz dizimi
Go'nun söz dizimi, C'den yapılan değişiklikleri içerir, kodu kısa ve okunabilir kılmayı amaçlar. Birleştirilmiş declaration ve başlatma operatörü, programcılara i := 3
ya da s := "bazı kelimeler"
yazarak, herhangi bir tür belirtimine ihtiyaç duyulmadan değişken tanımlamasını sağlar. Noktalı virgüller hala ifadeleri sonlandırır fakat satır sonlarında kullanılmasına gerek yoktur. Fonksiyonlar birden fazla değerler döndürebilir (return result, err
).
Örnek kullanım
Go ile Merhaba dünya programı
package main import "fmt" func main() { fmt.Println("Merhaba dünya!") }
Kaynakça
Bu makale, Creative Commons Attribution 3.0 lisansına sahip resmi Go eğitselinden Let's Go1 Temmuz 2016 tarihinde Wayback Machine sitesinde . alıntılar içermektedir.
- ^ "Release History - The Go Programming Language". go.dev. 23 Şubat 2024 tarihinde kaynağından . Erişim tarihi: 23 Şubat 2024.
- ^ a b Pike, Rob (24 Nisan 2014). . 10 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Mart 2016.
- ^ . golang.org. 16 Ocak 2010. 2 Ocak 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Şubat 2010.
- ^ . 16 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Eylül 2015.
- ^ "Google's Go: A New Programming Language That's Python Meets C++". 7 Ocak 2019 tarihinde kaynağından . Erişim tarihi: 13 Kasım 2009.
- ^ "Frequently Asked Questions (FAQ)". 22 Kasım 2021 tarihinde kaynağından . Erişim tarihi: 7 Kasım 2022.
- ^ "Go FAQ: Is Google using Go internally?". 7 Ocak 2019 tarihinde kaynağından . Erişim tarihi: 9 Mart 2013.
- ^ Pike, Rob (28 Nisan 2010). "Another Go at Language Design". Stanford EE Computer Systems Colloquium. Stanford University. 12 Haziran 2014 tarihinde kaynağından . Erişim tarihi: 21 Şubat 2017. Video available 25 Kasım 2016 tarihinde Wayback Machine sitesinde ..
- ^ . golang.org. 25 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Şubat 2016.
- ^ Andrew Binstock (18 Mayıs 2011). "Dr. Dobb's: Interview with Ken Thompson". 27 Temmuz 2016 tarihinde kaynağından . Erişim tarihi: 7 Şubat 2014.
- ^ Pike, Rob (2012). "Less is exponentially more". 21 Mart 2016 tarihinde kaynağından . Erişim tarihi: 21 Şubat 2017.
- ^ Robert Griesemer (2015). . 5 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017.
- ^ . 17 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017.
- ^ "Go 1.22 is released! - The Go Programming Language". go.dev (İngilizce). 23 Şubat 2023 tarihinde kaynağından . Erişim tarihi: 23 Şubat 2023.
- ^ Pike, Rob. "The Go Programming Language". YouTube. 11 Şubat 2013 tarihinde kaynağından . Erişim tarihi: 1 Temmuz 2011.
- ^ (10 Kasım 2009). The Go Programming Language (flv) (Tech talk). Google. 7 Mart 2017 tarihinde kaynağından . Erişim tarihi: 21 Şubat 2017.
8:53
- ^ Download and install packages and dependencies - go - The Go Programming Language 12 Mart 2017 tarihinde Wayback Machine sitesinde .; see godoc.org 7 Ekim 2020 tarihinde Wayback Machine sitesinde . for addresses and documentation of some packages
- ^ . godoc.org. 3 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Mart 2020.
Dış bağlantılar
- Go Resmi Sitesi9 Temmuz 2011 tarihinde Wayback Machine sitesinde . (İngilizce)
- Go Türkiye Topluluğu5 Haziran 2016 tarihinde Wayback Machine sitesinde . (Türkçe)
- Go Turu1 Temmuz 2016 tarihinde Wayback Machine sitesinde . (Türkçe)
- YouTube'da The Go Programming Language (İngilizce)
- Mailing list / Newsgroup17 Kasım 2009 tarihinde Wayback Machine sitesinde . (İngilizce)
- /r/golang - Reddit Sayfası14 Kasım 2009 tarihinde Wayback Machine sitesinde . (İngilizce)
- Go Release History and Support End 27 Eylül 2022 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Go Google da 2007 yilindan itibaren gelistirilmeye baslayan acik kaynak programlama dilidir Ilk web sitesi golang org alan adina sahip oldugundan golang ismiyle anilsa da dogru adi Go dur Daha cok sistem programlama icin tasarlanmis olup derlenmis ve statik tipli bir dildir Kasim 2009 da cikmistir Go derleyicisi gc acik kaynak yazilim olarak Linux OS X Windows bazi BSD ve Unix versiyonlari ve ayrica 2015 ten itibaren akilli telefonlar icin gelistirilmistir GoParadigmasiDerlenen yapisalIlk cikisi10 Kasim 2009 14 yil once 2009 11 10 TasarimciKen Thompson Robert Griesemer Rob PikeGelistiriciGoogle Inc Kararli surum1 22 0 6 Subat 2024 Etkilendikleri APL BCPL C CSP Modula Oberon Pascal Python SmalltalkPlatformuLinux OS X Windows bazi BSD ve Unix versiyonlariIsletim sistemiCapraz platformLisansBSD lisansi stiliOlagan dosya uzantilari goWeb sitesigo devGo nun onceki Amerikan yer sincabi maskotlu logosu TarihceDil Kasim 2009 da duyurulmustur Google in bazi urunlerinin sistemlerinde oldugu gibi diger firmalar tarafindan da kullanilmaktadir Go Google muhendisleri Robert Griesemer Rob Pike ve Ken Thompson tarafindan bir deney olarak ortaya cikarilmis diger dillerin bilinen elestirilerini cozecek ve olumlu ozelliklerini koruyacak sekilde tasarlanmistir Yeni dil asagidaki ozellikleri icermekteydi Statik yazilmis buyuk sistemlere olceklenebilir olmasi Java ve C gibi Uretken ve okunabilir olmasi cok fazla zorunlu anahtar kelime ve tekrarlamalarin kullanilmamasi Tumlesik gelistirme ortamina ihtiyac duymamasi ancak desteklemesi Ag networking ve coklu islemleri multiprocessing desteklemesi Yapilan roportajlarda bu uc dil tasarimcisinin yeni dili yapmalarindaki motivasyonun C daki karmasikligi begenmedikleri icin geldigini belirtmislerdir Go 1 0 Mart 2012 de yayinlanmistir Go nun su anki guncel surumu 8 Subat 2024 te yayinlanan Go 1 22 0 dir Dil tasarimiGo C nin bilinen ozelliklerini tasimaktadir ancak yapilan degisiklikler dili basit kisa ve guvenli hale getirmistir Asagida Go yu kisaca tanimlayan ozellikler yer almaktadir Soz dizimi ve cevresel kaliplari benimsemesi daha cok benzemektedir Degisken tanimindaki tur belirtimi istege baglidir int x 0 yerine x 0 Hizli derleme suresi Uzak paket yoneticisi go get ve online paket dokumantasyonu Belirli problemlere ayirt edici yaklasimlar Dahili es zamanlilik ilkelleri light weight process lar goroutines kanallar ve select ifadesi Varsayilan olarak statik olarak baglanmis native binary ler ekstra bagimliliklara ihtiyac duyulmadan uretilir Soz dizimi Go nun soz dizimi C den yapilan degisiklikleri icerir kodu kisa ve okunabilir kilmayi amaclar Birlestirilmis declaration ve baslatma operatoru programcilara i 3 ya da s bazi kelimeler yazarak herhangi bir tur belirtimine ihtiyac duyulmadan degisken tanimlamasini saglar Noktali virguller hala ifadeleri sonlandirir fakat satir sonlarinda kullanilmasina gerek yoktur Fonksiyonlar birden fazla degerler dondurebilir return result err Ornek kullanimGo ile Merhaba dunya programi package main import fmt func main fmt Println Merhaba dunya KaynakcaBu makale Creative Commons Attribution 3 0 lisansina sahip resmi Go egitselinden Let s Go1 Temmuz 2016 tarihinde Wayback Machine sitesinde alintilar icermektedir Release History The Go Programming Language go dev 23 Subat 2024 tarihinde kaynagindan Erisim tarihi 23 Subat 2024 a b Pike Rob 24 Nisan 2014 10 Ekim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 11 Mart 2016 golang org 16 Ocak 2010 2 Ocak 2013 tarihinde kaynagindan arsivlendi Erisim tarihi 27 Subat 2010 16 Ocak 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Eylul 2015 Google s Go A New Programming Language That s Python Meets C 7 Ocak 2019 tarihinde kaynagindan Erisim tarihi 13 Kasim 2009 Frequently Asked Questions FAQ 22 Kasim 2021 tarihinde kaynagindan Erisim tarihi 7 Kasim 2022 Go FAQ Is Google using Go internally 7 Ocak 2019 tarihinde kaynagindan Erisim tarihi 9 Mart 2013 Pike Rob 28 Nisan 2010 Another Go at Language Design Stanford EE Computer Systems Colloquium Stanford University 12 Haziran 2014 tarihinde kaynagindan Erisim tarihi 21 Subat 2017 Video available 25 Kasim 2016 tarihinde Wayback Machine sitesinde golang org 25 Subat 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Subat 2016 Andrew Binstock 18 Mayis 2011 Dr Dobb s Interview with Ken Thompson 27 Temmuz 2016 tarihinde kaynagindan Erisim tarihi 7 Subat 2014 Pike Rob 2012 Less is exponentially more 21 Mart 2016 tarihinde kaynagindan Erisim tarihi 21 Subat 2017 Robert Griesemer 2015 5 Eylul 2015 tarihinde kaynagindan arsivlendi Erisim tarihi 21 Subat 2017 17 Subat 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 21 Subat 2017 Go 1 22 is released The Go Programming Language go dev Ingilizce 23 Subat 2023 tarihinde kaynagindan Erisim tarihi 23 Subat 2023 Pike Rob The Go Programming Language YouTube 11 Subat 2013 tarihinde kaynagindan Erisim tarihi 1 Temmuz 2011 10 Kasim 2009 The Go Programming Language flv Tech talk Google 7 Mart 2017 tarihinde kaynagindan Erisim tarihi 21 Subat 2017 8 53 Download and install packages and dependencies go The Go Programming Language 12 Mart 2017 tarihinde Wayback Machine sitesinde see godoc org 7 Ekim 2020 tarihinde Wayback Machine sitesinde for addresses and documentation of some packages godoc org 3 Subat 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 21 Mart 2020 Dis baglantilarGo Resmi Sitesi9 Temmuz 2011 tarihinde Wayback Machine sitesinde Ingilizce Go Turkiye Toplulugu5 Haziran 2016 tarihinde Wayback Machine sitesinde Turkce Go Turu1 Temmuz 2016 tarihinde Wayback Machine sitesinde Turkce YouTube da The Go Programming Language Ingilizce Mailing list Newsgroup17 Kasim 2009 tarihinde Wayback Machine sitesinde Ingilizce r golang Reddit Sayfasi14 Kasim 2009 tarihinde Wayback Machine sitesinde Ingilizce Go Release History and Support End 27 Eylul 2022 tarihinde Wayback Machine sitesinde