Go Özel Dersi
Go (Golang) online özel ders, Google'ın modern ve hızlı sistem dili Go (Golang)'i birebir ve esnek bir takvimle öğrenmek isteyenler için tasarlandı. Tüm seanslar online yapılır — Zoom, Google Meet veya Microsoft Teams üzerinden canlı ekran paylaşımıyla. Türkiye'nin her şehrinden ya da yurt dışından katılım fark etmez; ihtiyacın olan tek şey internet bağlantısı ve öğrenme isteği.
Go (Golang) özel ders alanlar; bilgisayar mühendisliği ve yazılım mühendisliği öğrencileri, kendini geliştirmek isteyen junior geliştiriciler, kariyer dönüşümü yapmak isteyenler ve halihazırda yan teknolojilerde çalışıp bu alana geçmek isteyen profesyoneller. Yurt içi ve yurt dışından, hem yeni başlayanlar hem de belirli bir konuda derinleşmek isteyenler, kendi temposunda öğrenebileceği esnek bir program bulur.
Programda işlenen başlıklar — temel kavramlardan ileri konulara doğru ilerler:
- Go ve Kurulum
- Veri Tipleri
- Kontrol Akışı
- Fonksiyonlar
- Method ve Interface
- Concurrency
- Error Handling
- HTTP ve JSON
Programın çekirdeğinde önce kavramsal temel sağlamlaştırılır; sözdizimi, temel veri tipleri ve günlük kullanım pratiği üzerinde durulur. İlerleyen seanslarda performans, mimari kararlar ve ileri pattern'ler gibi daha derin konulara geçilir. Amaç ezber değil; gerçek bir problem karşısında doğru reflekslerle ilerleyebilmektir. Her seans sonrası kısa ödevler verilir, bir sonraki seansta birlikte gözden geçirilir. Resmi dokümantasyon için Go resmi dokümantasyonu birincil kaynak olarak kullanılır.
Go Özel Dersi Konuları
1. Go ve Kurulum
- go install
- go.mod, go.sum
- İlk hello world
- Workspace yapısı
2. Veri Tipleri
- int, string, bool
- Slice ↔ array
- Map
- Struct
3. Kontrol Akışı
- if, for (tek loop kavramı)
- switch
- Defer
- Panic / recover
4. Fonksiyonlar
- Çoklu dönüş
- Named return
- Variadic
- Closure
5. Method ve Interface
- Pointer vs value receiver
- Interface tanımı
- Implicit implementation
- Empty interface (any)
6. Concurrency
- Goroutine
- Channel (buffered, unbuffered)
- select statement
- sync.WaitGroup, sync.Mutex
7. Error Handling
- error interface
- errors.Is, errors.As
- panic vs error
- Wrapping (%w)
8. HTTP ve JSON
- net/http server
- Handler, ServeMux
- encoding/json
- REST endpoint
9. Test ve Benchmark
- testing paketi
- Table-driven test
- Benchmark
- Coverage
10. Bitirme Projesi
- REST API + JSON
- Goroutine ile concurrent fetch
- Postgres bağlantısı
- Docker image
Go Özel Dersi ile İlgili
Sıkça Sorulan Sorular ve Cevapları
Programlama bilmiyorum, Go ile başlamak mantıklı mı?
Mantıklı. Go en sade dillerden biri. Söz dizimi az, kavramlar net. İlk dil olarak rahat başlanır.
Generic destekleniyor mu?
Evet (Go 1.18+). Pakette generic temel düzeyde işlenir; çok karmaşık metaprogramming yerine pratik kullanım hedeflenir.
Backend için framework seçimi?
Standart net/http güçlü; Gin veya Fiber ile hızlanır. Pakette standart kütüphane üzerinden gidilir, framework opsiyonel.
Goroutine ile thread aynı mı?
Hayır. Goroutine M:N scheduling ile çok daha hafiftir. Binlerce goroutine başlatmak normaldir.
Microservice projesinde Go uygun mu?
Çok uygun. Bu pakette temel ders sonrası Java/Net Microservices karşılaştırılarak yönlenebilirsin.