Go’nun popülaritesi yıllar içinde arttı. Daha fazla şirket Go’yu benimsiyor ve dil kullanıma sunuldukça geliştirici havuzu da büyüyor. İnsanlar bunu hızlı web uygulamaları, blok zinciri çözümleri ve makine öğrenimi araçlarından çeşitli programlar oluşturmak için kullanıyor.
Geliştiriciler, ifade gücü, kullanım kolaylığı ve yüksek dil performansı nedeniyle Go’yu seviyor. Hızla büyüyen bir paket ve kitaplık ekosistemi ile Go, çoğu dilden daha hızlı bir öğrenme eğrisine sahiptir.
Go’ya Başlarken
Go programlama dili Windows, macOS veya çoğu Linux dağıtımında önceden kurulu değildir. Go programlarını çalıştırmak için Go’yu yüklemeniz gerekir. Makinenize yüklemek için resmi Go indirme sayfasını kontrol edebilirsiniz. Daha yeni sürümlerde daha fazla özellik ve güncelleme bulunduğundan, dilden en iyi şekilde yararlanmak için Go’nun yeni bir sürümünü yüklemek isteyeceksiniz .
Go’yu yükledikten sonra dille çalışabilir, Go dosyalarını yürütebilir, çalışma alanları oluşturabilir ve Go’da projeler oluşturabilirsiniz.
Standart kitaplığı kullanarak bir Go dosyası oluşturabilir ve Go programlarını çalıştırabilirsiniz. Ancak, harici kitaplıkları kullanmak istiyorsanız bağımlılık yönetimi, sürüm izleme ve daha fazlası için bir Go modülleri dosyası oluşturmanız gerekir.
Go Modülleri Dosyası
Go’da bir modül, kökünde bir go.mod dosyası bulunan bir dosya ağacındaki paketler topluluğudur . Bu dosya, başarılı bir yapı süreci için modülün yolunu, içe aktarma yolunu ve bağımlılık gereksinimlerini tanımlar.
go modülleri go.mod dosyasına genel bakış
Proje için yol veya dizin belirtmeden önce Go mod komutu ve init alt komutuyla bir Go modülleri dosyası oluşturabilirsiniz .
go mod init project-directoryn
Komut, go.mod dosyasını oluşturur. init komutundan sonraki argüman modül yoludur. Modül yolu, ana bilgisayar ortamınızdaki dosya yolu veya havuz etki alanı yolu olabilir.
Harici paketleri ve bağımlılıkları kurduğunuzda go, dahil edildiklerinden emin olmak için go.mod dosyasındaki gerekli bildirimi güncelleyecektir.
Programınız için gerekli tüm bağımlılıkları indirmek için mod komutunun düzenli alt komutunu kullanabilirsiniz .
go mod tidyn
Komut, eksik olan tüm içe aktarmaları go modülleri dosyasına indirecektir.
Go Paketi Ad Alanı
Her Go kaynak dosyası bir pakete aittir ve tanımlayıcısını kullanarak bir paket ad alanındaki koda erişebilirsiniz.
Paketleriniz için birden çok ad alanına sahip olabilirsiniz. Bir klasör oluşturduğunuzda, yeni bir ad alanı oluşturmuş olursunuz. Diğer ad alanlarına nokta (.) notasyonu ile erişebilirsiniz.
// folder 1 npackage foldern nfunc Folder() any {n // some function body heren return 0;n}n
Başka bir ad alanından farklı bir ad alanına erişmeye ilişkin bir örneği burada bulabilirsiniz.
n// folder 2, file in different namespacenpackage directoryn nfunc directory() {n // accessing the Folder function from the folder namespace n folderFunc := folder.Folder()n}n
Harici bir ad alanındaki bir tanımlayıcıya erişmek için, adı büyük harfle yazarak tanımlayıcıyı dışa aktarmanız gerekir .
Ana İşlev
Ana işlev , Go programları için giriş noktası görevi görür. Ana işlev olmadan bir Go dosyası veya paketi çalıştıramazsınız. Herhangi bir ad alanında bir ana işleve sahip olabilirsiniz; ancak, bir dosya veya pakette yalnızca bir ana işleviniz olmalıdır.
İşte ana işlevi göstermek için basit bir Merhaba Dünya Programı :
package mainnimport “fmt”n nfunc main {n fmt.Println(“Hello, World!”) n}n
Bu kod, ana işlevi ana paket ad alanında bildirir. Daha sonra fmt paketini içe aktarır ve konsola bir dize çıktısı almak için Println yöntemini kullanır.
Go’da Paketleri İçe Aktarma
Diğer birçok dile kıyasla paketleri ve bağımlılıkları içe aktarmak kolaydır. import anahtar sözcüğü, paketleri içe aktarmak için işlevsellik sağlar . import anahtar sözcüğü ile standart kitaplıktan ve dış bağımlılıklardan paketleri içe aktarabilirsiniz.
import “fmt”n
Yukarıdaki örnekte, bir paketi içe aktarıyorsunuz. Birden çok paketi içe aktarabilirsiniz. Paketleri import ifadesinden sonra parantez içinde belirtmeniz gerekecek .
import (n “fmt” // fmt for printingn “log” // log for logging n “net/http” // http for web applicationsn “encoding/json” // json for serializing and deserializing structs to JSONn)n
İçe aktarma ifadelerine sınırlayıcı eklemek geçersiz. Özel adı paket adından önce belirterek içe aktarmalar için özel bir ad bildirebilirsiniz.
import (n “net/http” n encoder “encoding/json” // alias import heren)n
Burada, encoder olarak özel adla json paketini içe aktardınız . Paketin işlevlerine ve türlerine özel adla (kodlayıcı) erişmeniz gerekecek.
Bazı paketler, yan etkiler için diğer paketleri içe aktarmanızı gerektirir. Paket adının başına bir alt çizgi koymanız gerekecek.
import (n _ “fmt” // side effects importn “log”n)n
Yan etkiler nedeniyle içe aktardığınız paketlere erişemezsiniz, ancak bunları yapılandırırsanız bağımlılıklar erişebilir.
Koş ve İnşa Et
Go kodunuzu derlemek ve yürütmek için run ve build komutlarını kullanacaksınız. Benzer işlevleri vardır ve bunları paketleri yürütmek için kullanacaksınız.
Çalıştır komutu, derleme ve yürütme yönergelerinin bir birleşimidir. Çalıştır komutu, çalışma dizininde herhangi bir yürütülebilir dosya oluşturmadan paketi yürütür. Run komutundan sonra paket adının dosya adını belirtmeniz gerekir .
go run file.go // executes a filengo run packagename // executes the packagen
Build komutu , bir paketi veya dosyayı yürütülebilir bir ikili dosyada derleyen bir derleme komutudur.
Dosya veya paket adından sonra herhangi bir argüman olmadan build komutunu çalıştırırsanız , go, paketinizin kök dizininde bir yürütülebilir dosya oluşturur.
go build main.go // compiles a file ngo build “package name” // compiles a packagen
Bir paketi değiştirdiğinizde programı build komutuyla yeniden derlemeniz gerekecektir .
Bir dizini bağımsız değişken olarak belirtebilirsiniz ve build komutu yürütülebilir dosyayı belirtilen dizinde çıkarır.
go build file -o “directory”n
Go İle Yapabileceğiniz Çok Şey Var
Go standart kitaplığı güçlü ve sezgiseldir. Herhangi bir harici bağımlılık kurmak zorunda kalmadan modern uygulamaları hızlı bir şekilde oluşturabilirsiniz.
Go’nun 2009’da piyasaya sürülmesinden bu yana, geliştiriciler ve şirketler onu çeşitli alanlarda çeşitli kullanım durumları için kullandılar. Başarısının başlıca nedeni, Go’nun C benzeri performansın yanı sıra Python benzeri bir sözdizimi sağlamasıdır.