1. Bir Go Programının Temel Yapısı

Bir Go programı, bir paketin bildirimi ile başlar, ardından gerekli paketlerin içe aktarımı, paket düzeyinde değişken, sabit ve tür bildirimleri ve nihayetinde paket içinde bulunan fonksiyonları içerir. "Merhaba Dünya"yı ele alalım, aşağıdaki, bir Go programının tipik temel yapısıdır:

package main // Bağımsız bir şekilde çalıştırılabilir bir programı gösteren ana paketi bildir

import "fmt" // Giriş ve çıkış işlevlerini içeren fmt paketini içe aktar

// programın giriş noktası olan main fonksiyonu
func main() {
    fmt.Println("Merhaba, Dünya!") // Terminalde Merhaba Dünya'yı yazdır
}

Paket Kavramı ve Amaçları

Go dilinde, bir paket, birden fazla Go kaynak dosyasının bir araya getirilmesiyle oluşur ve yüksek düzeyde kod yeniden kullanım mekanizması olarak hizmet verir. Go'daki her dosya bir pakete aittir ve paket adı, bulunduğu dizin adıyla aynı olmalıdır.

Kaynak Kodu Dosyaları İçin İsimlendirme Kuralları

Go kaynak dosyalarının adlandırılması genellikle küçük harflerle yapılır ve boşluk veya özel karakter içermez, örneğin hello_world.go. Kaynak dosya adı, paket adıyla tutarlı olmak zorunda değildir, ancak aynı paket içindeki tüm dosyalardaki paket bildirim ifadelerinin tutarlı paket adlarına sahip olması gerekmektedir.

Programdaki Yorum Satırlarının Kullanımı

Go dilinde, yorumlar iki şekilde kullanılır: // ile başlayan tek satırlık yorumlar ve /* ile başlayıp */ ile biten çok satırlı yorumlar. Yorumların içeriği derleyici tarafından görmezden gelinir.

// Bu, tek satırlık bir yorumdur

/*
Bu, çok satırlı bir yorumdur
ve birden fazla
satıra yayılabilir.
*/

2. main Fonksiyonu ve Programın Giriş Noktası

Bir Go programında, main fonksiyonu özel olarak programın giriş noktası olarak tasarlanmıştır. Go çalışma zamanı, programın yürütmesini başlatmak için otomatik olarak ana paket içindeki main fonksiyonunu çağırır.

package main

import "fmt"

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

main fonksiyonu hiçbir argüman almaz ve geri dönüş değeri yoktur. main fonksiyonunun yürütülmesinden sonra program otomatik olarak sona erer. Programın çıkışında bir durum kodunun döndürülmesi gerekiyorsa os.Exit fonksiyonunun kullanılması gerekmektedir.

3. Programın Derlenmesi ve Çalıştırılması

go build Komutunun Kullanımı

go build komutunu çalıştırmak, kaynak kod dosyasını derler ve yürütülebilir bir dosya oluşturur. Terminalde, kaynak dosyanın bulunduğu dizine gidin ve aşağıdaki komutu girin:

go build hello_world.go

Başarılı bir şekilde yürütüldüğünde, mevcut dizinde hello_world (veya Windows'ta hello_world.exe) adında yürütülebilir bir dosya görmeniz gerekecektir.

go run Komutunun Kullanımı

go run komutu, Go programını derler ve çalıştırır, bu da hızlı bir şekilde test etmek ve geliştirmek için çok uygundur. Merhaba Dünya programını çalıştırmak için şunu girebilirsiniz:

go run hello_world.go

Bu komutu çalıştırdıktan sonra, terminale "Merhaba, Dünya!" çıktısını hemen görmelisiniz.

4. Program Çıkışı

Bir Go programında, fmt paketi tarafından sağlanan Println işlevini kullanarak bilgileri terminale aktarabiliriz. Aşağıdaki, terminale "Merhaba, Dünya!"yı çıkış olarak veren bir kod örneğidir:

package main

import "fmt"

func main() {
    fmt.Println("Merhaba, Dünya!") // Terminale çıkış yap
}

Programı yürüttükten sonra, çıktıyı doğrudan komut satırı terminalinde görebilirsiniz. Ayrıca, daha karmaşık çıkış gereksinimleri, log paketi kullanılarak veya doğrudan os.Stdout standart çıkış akışını manipüle edilerek elde edilebilir.

import "os"
os.Stdout.WriteString("Merhaba, Dünya!\n") // Doğrudan standart çıkış akışını manipüle et
import "log"
log.Println("Merhaba, Dünya!") // Tarih ve saat bilgisi de içeren çıkış için log paketini kullanın

Bu temel çıkış yöntemleri, kullanıcılarla etkileşimde bulunmanın ve programları hata ayıklamak için kritik bilgileri yazdırmak için yaygın olarak kullanılan önemli araçlardır.