b buyoldan.com
Blog

Motivasyon

Go (Golang) ile Backend Geliştirme

YENİ

Go dilinin temellerinden başlayıp gerçek dünya REST API'leri geliştirmeye, eşzamanlılık modelinden mikroservis mimarisine, veritabanı entegrasyonundan Docker ile üretime kadar uzanan eksiksiz backend geliştirici rehberi.

Aşama 1: Go Diline Giriş ve Kurulum

Tarihçe, Araçlar, İlk Program
01

Go Nedir ve Neden Kullanılır?

Go'nun tarihi, tasarım felsefesi, kullanım alanları ve popülerlik nedenleri.

02

Go Kurulumu ve Geliştirme Ortamı

go.dev'den SDK kurulumu, GOPATH/GOROOT, VS Code veya GoLand yapılandırması.

03

İlk Go Programı ve go CLI

main paketi, fmt.Println, go run, go build, go fmt, go vet komutları.

04

Go Modules ve Proje Yapısı

go mod init, go.mod, go.sum, go get, proje klasör düzeni.

05

Go Playground ve Topluluk Kaynakları

play.golang.org, pkg.go.dev, Go blog, Effective Go belgesi.

Aşama 2: Temel Sözdizimi ve Veri Tipleri

Değişkenler, Tipler, Kontrol Akışı
01

Değişkenler: var, :=, const ve Sıfır Değerleri

Kısa tanımlama operatörü, tip çıkarımı, sabitler, iota; sıfır değer kavramı.

02

Temel Veri Tipleri: Sayılar, String ve Bool

int, int64, float64, byte, rune, string değişmezliği, string dönüşümleri.

03

Kontrol Akışı: if, for, switch ve goto

if ile kısa tanımlama, for döngüsünün üç kullanımı, switch expression.

04

Pointer'lar ve Bellek Yönetimi

& operatörü, * operatörü, new(), nil pointer, pointer receiver.

05

String İşlemleri: strings ve fmt Paketleri

strings.Contains, Split, TrimSpace, Builder; fmt.Sprintf, Fprintf, Errorf.

Aşama 3: Fonksiyonlar ve Hata Yönetimi

Çoklu Dönüş, Error, Defer, Panic
01

Fonksiyonlar: Çoklu Dönüş ve Variadic

Çoklu dönüş değerleri, isimli dönüş, variadic parametre, birinci sınıf fonksiyon.

02

Hata Yönetimi: error Interface ve Özel Hatalar

error interface, errors.New, fmt.Errorf %w, errors.Is, errors.As, sentinel error.

03

defer, panic ve recover

defer çalışma sırası, panic nedir, recover ile graceful kurtarma.

04

Closure ve Higher-Order Fonksiyonlar

Anonim fonksiyon, closure, fonksiyon fabrika, callback pattern.

05

init Fonksiyonu ve Paket Başlatma

init() fonksiyonu, çalışma sırası, import yan etkileri, blank import.

Aşama 4: Struct, Interface ve OOP

Struct, Method, Interface, Embedding
01

Struct Tanımlama ve Method'lar

Struct literal, alan etiketleri (tag), value ve pointer receiver method.

02

Interface ile Polimorfizm

Implicit interface implementasyonu, duck typing, boş interface, type assertion.

03

Embedding ile Composition

Struct embedding, interface embedding, metot terfi (promotion), diamond problem yokluğu.

04

Stringer, Marshaler ve Yaygın Interface'ler

fmt.Stringer, json.Marshaler/Unmarshaler, sort.Interface, error interface.

05

Functional Options Pattern

Option fonksiyon tipi, WithXxx fonksiyonları, varsayılan değerler.

Aşama 5: Koleksiyonlar ve Generics

Array, Slice, Map, Generics
01

Array ve Slice Farkı

Array sabit boyut, slice header yapısı, append, copy, kapasite yönetimi.

02

Map: Hash Tablosu

map literal, make ile map, nil map tehlikesi, map iteration sırası, sync.Map.

03

Generics (Go 1.18+): Tip Parametreleri

Tip parametresi, constraint, ~T union, comparable, slices ve maps paketleri.

04

Koleksiyon Kalıpları: Filter, Map, Reduce

Generic yardımcı fonksiyonlar, fonksiyonel pipeline, slices.SortFunc.

!
Bilgi Sorumluluktur

buyoldan.com tarafından sunulan bu yol haritaları, yalnızca öğrenme sürecini kolaylaştırmak amacıyla hazırlanan birer rehber ve tavsiye niteliğindedir. Konular zamanla güncellenebilir, değişebilir veya sınav sistemlerine göre farklılık gösterebilir. Hedefine ulaşırken yalnızca buradaki içeriklerle yetinmemeni, resmi kaynakları ve güncel müfredatları da düzenli olarak araştırmanı şiddetle öneririz. Kendi yolunu çizmek senin elinde!

👀

Buna Da Göz At

Rehber

...

Detaylı Analiz

...

Çalışma Taktikleri

...

Öğrenme Kaynakları

Ders çalışma veya site hakkında aklına takılan her şeyi sorabilirsin.
YOLAI
// kariyer asistanı
Merhaba! Ders çalışma, sınav hazırlığı veya kariyer konularında yardımcı olabilirim. Ne öğrenmeye çalışıyorsun?
0 / 300