Go (programlama dili) - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Tarihçe
  • 2 Dil tasarımı
    • 2.1 Söz dizimi
  • 3 Örnek kullanım
  • 4 Kaynakça
  • 5 Dış bağlantılar

Go (programlama dili)

  • Afrikaans
  • العربية
  • Azərbaycanca
  • Беларуская
  • Български
  • বাংলা
  • Brezhoneg
  • Català
  • Čeština
  • Dansk
  • Deutsch
  • Ελληνικά
  • English
  • Español
  • Eesti
  • Euskara
  • فارسی
  • Suomi
  • Français
  • Gaeilge
  • ગુજરાતી
  • עברית
  • Hrvatski
  • Magyar
  • Հայերեն
  • Bahasa Indonesia
  • Íslenska
  • İtaliano
  • 日本語
  • Qaraqalpaqsha
  • 한국어
  • Кыргызча
  • Latina
  • Latviešu
  • മലയാളം
  • Bahasa Melayu
  • Nederlands
  • Norsk bokmål
  • Polski
  • Português
  • Română
  • Русский
  • සිංහල
  • Simple English
  • Slovenčina
  • Slovenščina
  • Shqip
  • Српски / srpski
  • Svenska
  • Kiswahili
  • தமிழ்
  • Тоҷикӣ
  • Українська
  • اردو
  • Oʻzbekcha / ўзбекча
  • Tiếng Việt
  • 吴语
  • 中文
  • 閩南語 / Bân-lâm-gí
  • 粵語
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Wikimedia Commons
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
(Golang sayfasından yönlendirildi)
Go
ParadigmasıDerlenen, emirli, yapısal
İlk çıkışı10 Kasım 2009 (16 yıl önce) (2009-11-10)
TasarımcıKen Thompson
Robert Griesemer, Rob Pike
GeliştiriciGoogle Inc.
Kararlı sürüm1.23[1] (6 Şubat 2024)
EtkilendikleriAlef, APL,[2] BCPL,[2] C, CSP, Limbo, Modula, Newsqueak, Oberon, occam, Pascal,[3] Python, Smalltalk[4]
PlatformuLinux, OS X, Windows, bazı BSD ve Unix versiyonları
İşletim sistemiÇapraz platform
LisansBSD lisansı stili
Olağan dosya uzantıları.go
Web sitesigo.dev
Go'nun önceki, Amerikan yer sincabı maskotlu logosu.

Go, statik tipli, derlenen, yüksek seviyeli bir programlama dilidir. Robert Griesemer, Rob Pike ve Ken Thompson tarafından Google'da 2007 yılından itibaren geliştirilmeye başlanmıştır.[5] Sözdizimi C'ye benzerdir fakat hafıza erişimi güvenlidir, kullanılmayan hafıza kaynakları sisteme otomatik olarak geri verilir, interface veri tipleri sayesinde yapısal (özellik bazlı) tip sistemini (structural type system) destekler ve eşzamanlı (concurrent) çalışan işlemlerin (process) ortak hafıza kullanabilmelerinin yanında birbiriyle iletişim kurmalarını (communicating sequential processes) sağlayan ögelere sahiptir. Eski alan adı golang.org olduğundan sık sık golang ismiyle anılır ama asıl adı Go'dur.[6]

Go derleyicisi "gc" açık kaynaktır ve Linux, OS X, Windows, bazı BSD ve Unix versiyonları ve ayrıca 2015'ten itibaren akıllı telefonlar için geliştirilmiştir.

Tarihçe

[değiştir | kaynağı değiştir]

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.[7]

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:[8]

  • Statik yazılmış, büyük sistemlere ölçeklenebilir olması (Java ve C++ gibi)
  • Üretken ve okunabilir olması, çok fazla zorunlu anahtar kelime ve tekrarlamaların kullanılmaması[9]
  • 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, C++'daki karmaşıklığı beğenmedikleri için geldiğini belirtmişlerdir.[10][11][12]

Go 1.0, Mart 2012'de yayınlanmıştır.[13]

Go'nun şu anki güncel sürümü 13 Ağustos 2024'te yayınlanan Go 1.23'tür.[14]

Dil tasarımı

[değiştir | kaynağı değiştir]

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 dinamik dillere benzemektedir:[15]
  • Değişken tanımındaki tür belirtimi isteğe bağlıdır. (int x = 0; yerine x := 0;).
  • Hızlı derleme süresi.[16]
  • Uzak paket yöneticisi (go get)[17] ve online paket dökümantasyonu.[18]
  • Belirli problemlere ayırt edici yaklaşımlar:
  • Dahili eşzamanlılık ilkelleri: light-weight process [en]'lar (goroutines), kanallar [en] ve select ifadesi.
  • Varsayılan olarak statik olarak bağlanmış native binary'ler, ekstra bağımlılıklara ihtiyaç duyulmadan üretilir.

Söz dizimi

[değiştir | kaynağı değiştir]

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

[değiştir | kaynağı değiştir]

Go ile Merhaba dünya programı

package main

import "fmt"

func main() {
    fmt.Println("Merhaba dünya!")
}

Kaynakça

[değiştir | kaynağı değiştir]

Bu makale, Creative Commons Attribution 3.0 lisansına sahip resmi Go eğitselinden Let's Go1 Temmuz 2016 tarihinde Wayback Machine sitesinde arşivlendi. alıntılar içermektedir.

  1. ^ "Release History - The Go Programming Language". go.dev. 22 Kasım 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Eylül 2024. 
  2. ^ a b Pike, Rob (24 Nisan 2014). "Hello Gophers". 10 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Mart 2016. 
  3. ^ "Language Design FAQ". golang.org. 16 Ocak 2010. 2 Ocak 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Şubat 2010. 
  4. ^ "The Evolution of Go". 16 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Eylül 2015. 
  5. ^ "Google's Go: A New Programming Language That's Python Meets C++". 7 Ocak 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Kasım 2009. 
  6. ^ "Frequently Asked Questions (FAQ)". 22 Kasım 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Kasım 2022. 
  7. ^ "Go FAQ: Is Google using Go internally?". 7 Ocak 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mart 2013. 
  8. ^ Pike, Rob (28 Nisan 2010). "Another Go at Language Design". Stanford EE Computer Systems Colloquium. Stanford University. 12 Haziran 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017.  Video available 25 Kasım 2016 tarihinde Wayback Machine sitesinde arşivlendi..
  9. ^ "Frequently Asked Questions (FAQ) - The Go Programming Language". golang.org. 25 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Şubat 2016. 
  10. ^ Andrew Binstock (18 Mayıs 2011). "Dr. Dobb's: Interview with Ken Thompson". 27 Temmuz 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Şubat 2014. 
  11. ^ Pike, Rob (2012). "Less is exponentially more". 21 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017. 
  12. ^ Robert Griesemer (2015). "The Evolution of Go". 5 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017. 
  13. ^ "Release History". 17 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017. 
  14. ^ "Go 1.23 is released - The Go Programming Language". go.dev (İngilizce). 15 Eylül 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Eylül 2024. 
  15. ^ Pike, Rob. "The Go Programming Language". YouTube. 11 Şubat 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Temmuz 2011. 
  16. ^ Rob Pike (10 Kasım 2009). The Go Programming Language (flv) (Tech talk). Google. 7 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017. 8:53 
  17. ^ Download and install packages and dependencies - go - The Go Programming Language 12 Mart 2017 tarihinde Wayback Machine sitesinde arşivlendi.; see godoc.org 7 Ekim 2020 tarihinde Wayback Machine sitesinde arşivlendi. for addresses and documentation of some packages
  18. ^ "GoDoc". godoc.org. 3 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Mart 2020. 

Dış bağlantılar

[değiştir | kaynağı değiştir]
  • Go Resmi Sitesi9 Temmuz 2011 tarihinde Wayback Machine sitesinde arşivlendi. (İngilizce)
  • Go Türkiye Topluluğu5 Haziran 2016 tarihinde Wayback Machine sitesinde arşivlendi. (Türkçe)
  • Go Turu1 Temmuz 2016 tarihinde Wayback Machine sitesinde arşivlendi. (Türkçe)
  • YouTube'da The Go Programming Language (İngilizce)
  • Mailing list / Newsgroup17 Kasım 2009 tarihinde Wayback Machine sitesinde arşivlendi. (İngilizce)
  • /r/golang - Reddit Sayfası14 Kasım 2009 tarihinde Wayback Machine sitesinde arşivlendi. (İngilizce)
  • Go Release History and Support End 27 Eylül 2022 tarihinde Wayback Machine sitesinde arşivlendi.
  • g
  • t
  • d
Tümleşik geliştirme ortamları (IDE)
C ve C++
Açık kaynak
  • Android Studio
  • Anjuta
  • Code::Blocks
  • CodeLite
  • Dev-C++
  • Eclipse
  • Emacs
  • Geany
  • GNAT Programming Studio
  • GNOME Builder
  • KDevelop
  • MonoDevelop
  • NetBeans
  • TheIDE
  • QDevelop
  • Qt Creator
  • SharpDevelop
  • Vi/Vim
  • OpenWatcom
Freeware
  • Oracle Developer Studio
  • Visual Studio Community
  • Xcode
Perakende
  • C++Builder
  • Eclipse-tabanlı
    • CodeWarrior
    • MyEclipse
  • Visual Studio
  • JetBrains tarafından
    • IntelliJ IDEA
    • AppCode
    • CLion
  • LabWindows/CVI
  • IBM Rational Software Architect
  • Understand
  • SlickEdit
Durduruldu
  • VisualAge
  • Visual C++ Express
  • Borland Turbo C / C++
Java
Açık kaynak
  • Anjuta
  • BlueJ
  • DrJava
  • Eclipse
  • Geany
  • Greenfoot
  • IntelliJ IDEA Community Edition
    • Android Studio
  • NetBeans
  • Servoy Community Edition
Freeware
  • jGRASP
  • JDeveloper
Perakende
  • JCreator
  • MyEclipse
  • IBM
    • WebSphere Integration Developer
  • JetBrains IntelliJ IDEA
  • Servoy Business Application Platform Edition
  • SlickEdit
  • Understand
Durduruldu
  • Metrowerks CodeWarrior Pro for Java
  • JBuilder
  • Sun Java Studio Creator (yerini NetBeans aldı)
  • VisualAge (yerini Eclipse aldı)
  • Visual Café (Espresso olarak da bilinir, yerini JBuilder aldı)
  • Visual J++
  • Xelfi (NetBeans oldu)
JavaScript
Açık kaynak
  • Vim
  • Visual Studio Code
  • Atom
  • Chromium
CLI
Açık kaynak
  • MonoDevelop
  • SharpDevelop
  • Visual Studio Code
  • PascalABC.NET
Freeware
  • Visual Studio Community
Perakende
  • Visual Studio
  • Rider
  • Understand
Durduruldu
  • Xamarin Studio
  • Visual Basic Express
  • Visual Web Developer Express
  • Visual J# Express
  • Visual Studio Express for Windows Phone
  • Visual C++ Express
  • Visual C# Express
  • Express for Desktop
  • Express for Web
  • Express for Windows
Flash
  • Adobe Flash Builder
  • FlashDevelop
  • Powerflasher FDT
PHP
Açık kaynak
  • Aptana
  • NetBeans
  • Komodo Edit
  • Komodo IDE
  • KDevelop
Özel mülk
  • Codelobster
  • PhpStorm
  • PHPEdit
  • SlickEdit
  • Zend Studio
R
  • RStudio
  • R Tools for Visual Studio
Python
Açık kaynak
  • Anjuta
  • IDLE
  • Eric
  • Light Table
  • Ninja-IDE
  • PyDev
  • PyScripter
  • PIDA
  • Spyder
  • Komodo Edit
  • Komodo IDE
  • KDevelop
  • Vim
  • Visual Studio Code
  • Thonny
Özel mülk
  • PyCharm
  • PythonAnywhere
  • SlickEdit
  • Wing IDE
Pascal ve
Object Pascal
Açık kaynak
  • Free Pascal IDE
  • Lazarus
  • Dev-Pascal
  • GNAVI
Freeware
  • Delphi Community
Perakende
  • Delphi
Durduruldu
  • Turbo Pascal
  • Virtual Pascal
  • Borland Kylix
BASIC
Açık kaynak
  • Basic-256
  • B4X
  • MonoDevelop
  • SharpDevelop
  • Microsoft Small Basic
  • SdlBasic
  • Gambas
  • HBasic
  • Basic For Qt
  • Basic4GL
  • QB64
Freeware
  • FutureBASIC
  • RapidQ
  • thinAir
  • Visual Studio Community
Perakende
  • Visual Studio
  • NS Basic
  • PureBasic
  • GLBasic
  • Liberty BASIC
  • Xojo
Durduruldu
  • CA-Realizer
  • Phoenix Object Basic
  • QuickBASIC
  • QBasic
  • Visual Basic
  • Visual Basic Express
Go
Açık kaynak
  • Vim
  • Visual Studio Code (VSCode)
  • Eclipse
Freeware
  • LiteIDE
  • The Go Playground
  • Cloud9 IDE
Perakende
  • GoLand
Çevrimiçi
  • AWS Cloud9 IDE
  • Eclipse Che
  • SourceLair
  • Kategori
  • Karşılaştırma
  • g
  • t
  • d
Programlama dilleri
  • Karşılaştırma
  • Zaman Çizelgesi
  • Tarihçe
  • Ada
  • ALGOL
  • APL
  • Assembly
  • BASIC
  • C
  • C++
  • C#
  • Classic Visual Basic
  • COBOL
  • Erlang
  • Forth
  • Fortran
  • Go
  • Haskell
  • Java
  • JavaScript
  • Kotlin
  • Lisp
  • Lua
  • MATLAB
  • ML
  • Object Pascal
  • Pascal
  • Perl
  • PHP
  • Prolog
  • Python
  • R
  • Ruby
  • Rust
  • SQL
  • Scratch
  • Shell
  • Simula
  • Smalltalk
  • Swift
  • Visual Basic
  • dahası...
  • Liste Listeler: Alfabetik
  • Kategoriik
  • Nesilsel
  • İngilizce temelli olmayan
  • Kategori Kategori
Otorite kontrolü Bunu Vikiveri'de düzenleyin
  • GND: 7725033-3
  • LCCN: sh2012000746
  • NKC: ph1272920
  • NLI: 987007581576905171
"https://tr.wikipedia.org/w/index.php?title=Go_(programlama_dili)&oldid=35856984" sayfasından alınmıştır
Kategoriler:
  • Google yazılımları
  • Yordamsal programlama dilleri
  • C programlama dili ailesi
  • Çapraz platform yazılımları
  • BSD lisansı kullanan yazılımlar
  • 2009'da oluşturulan programlama dilleri
Gizli kategoriler:
  • Webarşiv şablonu wayback bağlantıları
  • GND tanımlayıcısı olan Vikipedi maddeleri
  • LCCN tanımlayıcısı olan Vikipedi maddeleri
  • NKC tanımlayıcısı olan Vikipedi maddeleri
  • NLI tanımlayıcısı olan Vikipedi maddeleri
  • Sayfa en son 14.28, 18 Ağustos 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Go (programlama dili)
Konu ekle