CodeBlanks Logo Icon CodeBlanks

go.sum ve bağımlılıklar

go get ile bağımlılık eklemeyi ve go.sum'u öğrenirsin.

go.sum ve bağımlılıklar

Bir bağımlılık eklemek için go get github.com/oguz/hello yazarsın. Bu komut paketi indirir, go.mod dosyasına require satırı ekler ve go.sum dosyasına hash yazar.

go.sum dosyası her bağımlılığın kriptografik hash değerini tutar. Bu, indirilen paketin değiştirilmediğini garanti eder.

Bağımlılıkları temizlemek için go mod tidy kullanırsın; kullanılmayanları kaldırır, eksikleri ekler.

go mod tidy

Zamanla go.mod ve go.sum dosyaları gereksiz satırlarla dolabilir. go mod tidy komutu bu dosyaları temizler: kullanılmayan bağımlılıkları kaldırır, eksik olanları ekler.

Bu komut kodu tarar, hangi bağımlılıkların gerçekten kullanıldığını bulur ve dosyaları buna göre günceller. CI süreçlerinde sıkça koşulur.

Yeni bir bağımlılık eklemek için genelde go get yeterlidir; tidy daha çok temizlik içindir.

Uygulama require satırı

go get sonrası go.mod'a require github.com/oguz/hello v1.2.0 satırı eklenir. Bu satırı strings.Fields ile parçala ve paket yolunu ile sürümü tek satırda yazdır.

Başlangıç kodu

main.go
package main

import (
    "fmt"
    "strings"
)

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
package main

import (
    "fmt"
    "strings"
)

func main() {
    p := strings.Fields("require github.com/oguz/hello v1.2.0")
    fmt.Println(p[1], p[2])
}

Beklenen çıktı

github.com/oguz/hello v1.2.0

Soru ve cevaplar

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

1 go.sum dosyası ne tutar?

  • Modül yolu
  • Kaynak kodu
  • Test sonuçları
  • Bağımlılık hash değeri Doğru cevap

Açıklama: go.sum bağımlılıkların hash değerini tutar.

2 Bağımlılık ekleme

Soru
Bir bağımlılık eklemek için:
____ get github.com/x/y
Cevap
Bir bağımlılık eklemek için:
go get github.com/x/y

Açıklama: go get bağımlılık indirir.

3 Modül komutlarını eşleştir

Kavram Anlamı
go get Bağımlılık indirir
go mod tidy Temizlik yapar
go mod init Modül başlatır
go build Binary üretir

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