go mod init
- Go kursu
- Başlangıç
- Ders 7/90
- 4 dk
Yeni bir Go modülü başlatmayı ve go.mod dosyasını öğrenirsin.
go mod init
go mod init komutu yeni bir Go modülü başlatır. Modül, ilgili Go paketlerinin bir koleksiyonudur ve go.mod dosyasıyla yönetilir.
Bir modül başlatmak için proje dizininde go mod init ornegim/selam yazarsın. Bu komut go.mod adında bir dosya oluşturur ve içine modül yolunu yazar.
Modül yolu genelde bir URL gibidir: github.com/kullanici/proje. Bu yol hem benzersizlik sağlar hem de go get ile bağımlılık indirirken kullanılır.
go.mod içeriği
go.mod dosyası oldukça sadedir. İlk satır module anahtar kelimesiyle modül yolunu içerir. İkinci satır go anahtar kelimesiyle kullanılan Go sürümünü belirtir.
Bağımlılık ekledikçe require blokları oluşur; her bağımlılık bir satırda yol ve sürüm olarak yazılır. go.sum dosyası ise her bağımlılığın hash değerini tutar.
Bu dosyayı elle düzenlemek gerekmez; go get, go mod tidy gibi komutlar dosyayı otomatik günceller.
Uygulama Modül yolu
go mod init example.com/merhaba komutu module example.com/merhaba satırını üretir. Bu satırı strings.CutPrefix ile ayrıştırıp modül yolunu yazdır: yol, ok := strings.CutPrefix("module example.com/merhaba", "module ").
Başlangıç kodu
package main
import (
"fmt"
"strings"
)
func main() {
// buraya yaz
}Örnek çözüm
package main
import (
"fmt"
"strings"
)
func main() {
yol, ok := strings.CutPrefix("module example.com/merhaba", "module ")
fmt.Println(yol, ok)
}Beklenen çıktı
example.com/merhaba true
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 go mod init ne üretir?
- binary dosya
- main.go dosyası
- README.md dosyası
- go.mod dosyası Doğru cevap
Açıklama: go mod init, go.mod dosyasını oluşturur.
2 Modül bildirimi
go.mod dosyasının ilk satırı:
____ ornegim/selam
go.mod dosyasının ilk satırı:
module ornegim/selam
Açıklama: module anahtar kelimesi modül yolunu başlatır.
3 Modül parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
module |
Modül yolu |
go |
Go sürümü |
require |
Bağımlılık |
go.sum |
Hash deposu |