İstediğiniz Yerden Go Kodunu Çalıştırabilirsiniz

go mod init

golang

Dikkatimi çekti, pek çok kişi bu özelliğin ya farkında değil ya da bilmiyor. Ben de yakın zamanda tam olarak öğrenip konuyu anladım ve çok mutlu oldum.

Yeni bir projeye başlayacağım zaman ilk iş;

$ cd "$(go env GOPATH)/src/github.com/vigo"

yapmak olurdu ve ilgili repoyu bu dizin altında açardım. Ne zaman ki golang’e modül desteği geldi, bu sayede artık kodun bulunduğu yerin pek bir önemi kalmadı.

İçinde go.mod olan her proje sıkıntısız olarak herhangi bir yerden çalışabiliyor.

Yeni bir projeye başlayacağım zaman artık;

$ cd ~/Development/Golang
$ mkdir my-project
$ cd my-project/
$ go mod init github.com/vigo/my-project

şeklinde başıyorum. Hatta daha da fantazi yapalım;

$ cd /tmp/
$ mkdir my-project && cd $_
$ go mod init foo/bar/my-project
go: creating new go.mod: module foo/bar/my-project

hemen bakalım go.mod dosyasına;

module foo/bar/my-project

go 1.16

sonrasında touch main.go ile dosyayı oluşturalım ve içini aşağıdaki gibi dolduralım;

package main

import "fmt"

func main() {
    fmt.Println("Hello World")
}

şimdi çalıştıralım:

$ go run .
Hello World

Evet, proje /tmp/ dizini altında bir yerde bile kolaylıkla çalıştı. Tabii ki paket ismi olarak foo/bar/my-project yapmak iyi bir fikir değil, sadece bunun bile olabileceğini göstermek istedim.

Siz yeni projelerinizde mutlaka repo/user/paket formatından şaşmayın!