Son Söz
Eğer gerçekten sözdizimi bölümünü ve gelişmiş bölümü dikkatlice okuduysanız ve kod yazdıysanız, Go'nun sözdiziminin aslında zor olmadığını, özelliklerinin de fazla olmadığını anlayacaksınız. Deneyimli kişiler birkaç günde başlayabilir. Tamamen mühendisliğe yönelik bir dildir. Bunu gelecekteki kodlamada yavaş yavaş hissedeceksiniz. Eğer öğrenmeyi tamamladıktan sonra kullanacak yer bulamıyorsanız ve daha derinlemesine öğrenmek istiyorsanız, size aşağıdaki birkaç öğrenme yolunu ve örnek projeyi referans olarak verebilirim.
Web Geliştirme
Web geliştirme Go dilinde çok yaygın bir kullanım senaryosudur. Aşağıdaki birkaç açık kaynak Web framework'ünü deneyebilirsiniz:
- Gin
- Echo
- Iris
- Hertz
- net/http, veya framework kullanmadan, Go'nun kendi yerleşik HTTP standart kütüphanesini kullanın
Eğer mikroservis geliştirmek istiyorsanız, aşağıdaki birkaç açık kaynak framework'ü öneririm:
Sonra veritabanı ile etkileşim kurmanız gerekir. Aşağıdaki birkaç açık kaynak kütüphaneyi öneririm:
Öğrenmek için aşağıdaki bu projelere referans alabilirsiniz:
- gin vue admin
- go-zero-looklook
- gin-admin, tekil Web projesi öğrenmek için bu projeye referans almanızı öneririm
- go-platform, mikroservis projesi öğrenmek için bu projeye referans almanızı öneririm
IM İletişim
Go kullanarak IM geliştirmek için aşağıdaki açık kaynak projeleri öneririm:
Ağ Programlama
Go ağ programlama alanında da çok fazla uygulama var. Aşağıda referans için bazı açık kaynak projeler veriyorum:
Oyun Sunucusu
Oyun sunucusu alanında, giderek daha fazla şirket Go yönüne geçiyor
Veritabanı Geliştirme
Veritabanı geliştirmek için belirli bir teknik temel gerekir. Go diline dayalı veritabanları veya motorları da az değil. Sadece kaynak kodlarını okumak çok zaman alır
- badger, yüksek hızlı kv veritabanı
- dgraph, grafik veritabanı
- cayley, grafik veritabanı
- etcd, dağıtık anahtar-değer veritabanı
- rosedb, anahtar-değer veritabanı, başlangıç için en iyi seçim
- nutsdb, anahtar-değer veritabanı
- prometheus, zaman serisi veritabanı
- tidb, zaman serisi veritabanı
- cockroach, dağıtık SQL veritabanı
- rqlite, SQLite'a dayalı dağıtık veritabanı
Komut Satırı Araçları
Go komut satırı CLI araç geliştirmek için çok uygundur. Aşağıda birkaç komut satırı geliştirme framework'ü veya kütüphanesi öneriyorum:
- flag, flag standart kütüphanesi
- cobra, CLI geliştirme için cobra kullanmanız şiddetle önerilir. Birçok ünlü proje cobra'ya dayanır, örneğin Docker, K8S vb.
- go-pretty, komut satırında estetik çıktı için kullanılır
- cli, hafif komut satırı framework'ü
- kingpin, güçlü ve esnek komut satırı ayrıştırma kütüphanesi
Cobra çok yaygın kullanıldığından, ona dayalı komut satırı geliştirme projeleri çok fazladır. Rastgele bulabilirsiniz. Aşağıda sadece bazı referans projeler var:
Yukarıda sadece yaygın alanlar listelenmiştir. Go'nun sunucu tarafı alanında yaygın olarak uygulandığını, istemci tarafında ise daha az olduğunu görebilirsiniz. Aslında Go'nun diğer alanlarda da birçok uygulaması var. Örneğin webrtc, blockchain, nesne depolama, bulut bilişim vb. İlgileniyorsanız Github'da kendiniz öğrenebilirsiniz.
Son olarak, Go dilinin uygulama detaylarını daha derinlemesine anlamak istiyorsanız. Örneğin slice ve map'in altta yatan veri yapıları, goroutine zamanlayıcısının uygulanması, GC çöp toplama süreci vb. gibi. Daha fazla içerik için Uygulama Prensipleri bölümüne gidin.
