Merhaba arkadaşlar, bu yazımda yeni öğrenmeye başladığım Go diline ait Gin frameworku ile basit bir giriş api’ı oluşturacağım. Buradaki motivasyonum kendi yapacağım örneği yazıya döküp internette basit de olsa bir Türkçe yazı bulunmasını sağlamak.
Kısaca Go
Go 2009 yılında ortaya çıkan açık kaynak kodlu bir programlama dilidir. Statik yapılı bir dildir. Google’ın mühendisleri C++ dilindeki karmaşıklığı beğenmediklerini söyleyerek bu dili geliştirdiklerini söylemiştir.
Golang kendini
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
şeklinde anlatmıştır.
Neden Gin Frameworkunu Seçtim?
Gin‘i seçerken GitHub star sayısını, çevremdeki Go geliştiricilerin önerilerini ve internetteki kaynak çokluğuna baktım. Sonrasında Gin seçimini yaptım.
Go Kurulumu
Bilgisayarınıza Go kurmak için burdan https://golang.org/doc/install işletim sisteminize uygun kurulumu seçip kurabilirsiniz.
Go‘yu kurduğumuza göre artık Gin için gerekli olan kurulumları yapıp ilk projemizi oluşturabiliriz.
Gin Kurulumu
Go için paket kurmak istediğimizde yazmamız gereken bir komut vardır. Daha önce Python yazdıysanız bunu pip paket yöneticisine benzetebilirsiniz.
1
go get <go_paketinin_reposunun_ismi>
Yani bizim Gin frameworkunu kurmamız için gerekli olan komut
1
go get -u github.com/gin-gonic/gin
üstteki komuttur.
-u parametresi varolan paketleri güncellemek için kullanılmaktadır.
İlk olarak bir go modulü oluşturalım. Bunun için aşağıdaki komutu yazmamız yeterlidir.
1
go mod init go_gin_example
Sonrasında bir main.go isimli bir dosya açalım ve içine aşağıdaki kodları ekleyelim.
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default() // frameworkun varsayılan ayarları ile bir router oluşturuyoruz.
r.GET("/ping", func(c *gin.Context) { // GET isteğinin urlini ve isteğin döneceği değeri ayarlıyoruz.
c.JSON(200, gin.H{ // c değeri ile Gin frameworkunun fonksiyonlarını kullanabiliriz ve geriye bir JSON dönüyoruz.
"message": "pong",
})
})
r.Run()
}
Umarım yazı işinize yaramıştır. Anlamadığınız yerleri ya da isteklerinizi, önerilerinizi bana iletbilirsiniz. Keyifli haftalar dilerim :)
Yararlandığım Kayneklar