Files
build-web-application-with-…/tr/02.1.md
2015-01-10 14:52:01 +02:00

54 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)