unit 2 chapter 1
This commit is contained in:
53
tr/02.1.md
Normal file
53
tr/02.1.md
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# 2.1 Hello, Go
|
||||||
|
|
||||||
|
Go ile uygulamalar geliştirmeden önce, nasıl basit programlar yazabiliriz onu öğrenelim. Temeli atamdan koca bir bina inşa edemezsiniz. Bu yüzden, bu bölümde basit bir program yazarak söz dizimini öğreneceğiz.
|
||||||
|
|
||||||
|
## Program
|
||||||
|
|
||||||
|
Uluslararası gelenekler göre, bir programala dilini öğrenmeye başlarken genelde "Merhaba dünya" ile kodlanmaya başlanır.
|
||||||
|
|
||||||
|
Hazır mısınız? Öyleyse başlayalım!
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
fmt.Printf("Merhaba, dünya ya da 你好,世界 ya da καλημ ́ρα κóσμ ya da こんにちは世界\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
Aşağıdaki cümleyi ekrana basavaktır.
|
||||||
|
|
||||||
|
Merhaba, dünya ya da 你好,世界 ya da καλημ ́ρα κóσμ ya da こんにちは世界
|
||||||
|
|
||||||
|
## Açıklama
|
||||||
|
|
||||||
|
Bilmeniz gereken ilk şey Go programları `package`(paket)'lerden meydana gelir.
|
||||||
|
|
||||||
|
`package<paketİsmi>` (Bu örnekte `package main`) satırı bize bu programın `main` paketine ait olduğunu, ve `main` kelimesi ise bu programın uzantısı `.a` olan bir kütüphane olarak değil bir yazılım olarak derleneceğini söylüyor.
|
||||||
|
|
||||||
|
Her çalıştırılabilir program sadece bir `main` paketi içerebilir, ve `main` adında argüman almayan ve bir değer dönemeyen fonksiyona sahip olamalıdır.
|
||||||
|
|
||||||
|
`Merhaba, dünya…` yazdırabilmek için, `Printf` adında bir fonksiyon çağırdık. Bu fonksiyon `fmt` paketinden geliyor, `import "fmt"` satırı ile gerekli paketi çağırmış olduk.
|
||||||
|
|
||||||
|
Go'daki paket mantığı Python dili ile benzer, ve birkaç avantajı var: Modülerlik (prograını bir çok parçaya ayırabilirsiniz) ve tekrar kullanabilme (her modul başka ugulamalar için kullanılabilir). Paket konseptinden biraz bahsetmiş olduk, daha sonra kendi paketimizi oluşturacağız.
|
||||||
|
|
||||||
|
Beşinci satırda, `func` kelimesi `main` fonksiyonumuzu tanımladık. Fonksiyon gövde `{}` parentezlerin arasında; C, C++ ve Java'da olduğu gibi.
|
||||||
|
|
||||||
|
Gördüğünüz gibi, herhangi bir arguman almıyor. Argüman alan, belirli bir değer dönen ve birden fazla dönüş değeri olan fanksiyonlar yazmasını öğrenceğiz.
|
||||||
|
|
||||||
|
Altıncı satırda, `fmt` paketinden `Printf` fonksiyonunu çağırdık. Çağırma işlemi `<paketİsmi>.<fonskiyonismi>` şeklinde Pthyon'da olduğu gibi.
|
||||||
|
|
||||||
|
1.ünitede bahsettiğimiz gibi, peket ismi ve paket dosyalarını içerin dizinin ismi farklı olabilir. Burada `<paket ismi>` `package <paket ismin>`den geliyor, diznin isminden değil.
|
||||||
|
|
||||||
|
Yukarıdaki örneğin ASCII olmayan karakterler içerdiğini fark etmişsinizdir. Buradan da anlayacağınız üzeri Go UTF-8'i ön tanımlı olarak destekliyor. Herhangi bir UTF-8 karakterini programınızda kullabilirsiniz.
|
||||||
|
|
||||||
|
## Sonuç
|
||||||
|
|
||||||
|
Go `package` (Python'daki modüller gibi) mantığını kullanarak programları organize ediyor. `main.main()` (bu fonksiyon `main` paketinde olmalı) fonksiyonu programınızın başlangıç noktası. Go öntanımlı olarak UTF-8 destekliyor, zaten Go'nun oluşturanlardan biri UTF-8 yaratan kişi, bu yüzden Go ilk çıktığınadn beri çoklu dil desteğine sahip.
|
||||||
|
|
||||||
|
## Linkler
|
||||||
|
|
||||||
|
- [İçerik](preface.md)
|
||||||
|
- Önceki bölüm: [Temel go bilgisi](02.0.md)
|
||||||
|
- Sonraki bölüm: [Go Temelleri](02.2.md)
|
||||||
Reference in New Issue
Block a user