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.
go get <go_paketinin_reposunun_ismi>
Yani bizim Gin frameworkunu kurmamız için gerekli olan komut
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.
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
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
Top comments (0)