|
| 1 | +# 2.1 Hello, Go |
| 2 | + |
| 3 | +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. |
| 4 | + |
| 5 | +## Program |
| 6 | + |
| 7 | +Uluslararası gelenekler göre, bir programala dilini öğrenmeye başlarken genelde "Merhaba dünya" ile kodlanmaya başlanır. |
| 8 | + |
| 9 | +Hazır mısınız? Öyleyse başlayalım! |
| 10 | + |
| 11 | + package main |
| 12 | + |
| 13 | + import "fmt" |
| 14 | + |
| 15 | + func main() { |
| 16 | + fmt.Printf("Merhaba, dünya ya da 你好,世界 ya da καλημ ́ρα κóσμ ya da こんにちは世界\n") |
| 17 | + } |
| 18 | + |
| 19 | +Aşağıdaki cümleyi ekrana basavaktır. |
| 20 | + |
| 21 | + Merhaba, dünya ya da 你好,世界 ya da καλημ ́ρα κóσμ ya da こんにちは世界 |
| 22 | + |
| 23 | +## Açıklama |
| 24 | + |
| 25 | +Bilmeniz gereken ilk şey Go programları `package`(paket)'lerden meydana gelir. |
| 26 | + |
| 27 | +`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. |
| 28 | + |
| 29 | +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. |
| 30 | + |
| 31 | +`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. |
| 32 | + |
| 33 | +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. |
| 34 | + |
| 35 | +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. |
| 36 | + |
| 37 | +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. |
| 38 | + |
| 39 | +Altıncı satırda, `fmt` paketinden `Printf` fonksiyonunu çağırdık. Çağırma işlemi `<paketİsmi>.<fonskiyonismi>` şeklinde Pthyon'da olduğu gibi. |
| 40 | + |
| 41 | +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. |
| 42 | + |
| 43 | +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. |
| 44 | + |
| 45 | +## Sonuç |
| 46 | + |
| 47 | +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. |
| 48 | + |
| 49 | +## Linkler |
| 50 | + |
| 51 | +- [İçerik](preface.md) |
| 52 | +- Önceki bölüm: [Temel go bilgisi](02.0.md) |
| 53 | +- Sonraki bölüm: [Go Temelleri](02.2.md) |
0 commit comments