CodeBlanks Logo Icon CodeBlanks

go run ve go build

go run ile çalıştırmayı ve go build ile derlemeyi öğrenirsin.

go run ve go build

go run merhaba.go kaynak dosyanızı arka planda derler ve hemen çalıştırır; geçici bir binary üretir. Hızlı deneme için idealdir.

go build ise kalıcı bir binary üretir. Üretilen dosyayı ./merhaba ile doğrudan çalıştırabilirsin; Go kurulu olmayan bir makineye kopyalayıp koşabilirsin.

İki komut da derleme yapar; fark çıktıda. run hızlı, build dağıtılabilir üretir.

go run vs go build

İki komut arasındaki farkı bilmek verimli çalışmanızı sağlar:

  • go run: hızlı geliştirme döngüsü, dosya bırakmaz
  • go build: dağıtılabilir binary üretir, üretim için kullanılır
  • go install: binary'yi GOBIN altına kurar

Üretimde her zaman go build (ya da CI aracı) ile elde edilmiş binary kullanılır.

Uygulama Derleme bilgisi

go build ile üretilen ikili, derlendiği hedefi bilir. runtime.GOOS ve runtime.GOARCH değerlerinin boş olmadığını fmt.Println(runtime.GOOS != "", runtime.GOARCH != "") ile yazdır.

Başlangıç kodu

main.go
package main

import (
    "fmt"
    "runtime"
)

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
package main

import (
    "fmt"
    "runtime"
)

func main() {
    fmt.Println(runtime.GOOS != "", runtime.GOARCH != "")
}

Beklenen çıktı

true true

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 go build ne üretir?

  • Bir Docker imajı
  • Çalıştırılabilir bir binary Doğru cevap
  • Bir ZIP dosyası
  • Bir web sunucusu

Açıklama: go build çalıştırılabilir bir binary üretir.

2 go run komutu

Soru
merhaba.go dosyasını derleyip çalıştırmak için ____ merhaba.go yazarız.
Cevap
merhaba.go dosyasını derleyip çalıştırmak için go run merhaba.go yazarız.

Açıklama: go run kaynak dosyayı derleyip çalıştırır.

3 Komutları eşleştir

Kavram Anlamı
go run Derleyip çalıştırır
go build Binary üretir
go install GOBIN'e kurar
go test Testleri koşar

Başlangıç bölümündeki tüm dersler