GoLang 101 [TR]
GoLang Temel Kavramlar
İFADELERİN YAZDIRILMASI
1 | package main |
GİRDİ (INPUT) KAVRAMI
Reader ile Girdi Alma
1 | package main |
Scanln ile Girdi Alma
1 | package main |
- Girdi, boşlukla ayrılacak bir şekilde ardışık olarak değişkenlere atanır.
1 | Name Surname: Samet Emiroğlu |
DEĞİŞKENLERİN KULLANIMI
1 | package main |
DİZİ (ARRAY) KAVRAMI
Dizilerin Oluşturulması & Kullanılması
1 | package main |
1 | [1 2 3 4 5 6 7] |
SLICE & MAP KAVRAMLARI
Slice
1 | package main |
- Çok boyutlu dizi yapısı ve dinamik işlemler için dizilerin sınırladığı alanlarda devreye slice (dilim) girmektedir.
1 | [0 0 0 0 0 0 12 14] |
- Çıktı incelendiğinde, slice’nin dinamik yapısından dolayı, 7 elemanlı olacak şekilde oluşturulan diziye 8. elemanın eklenebildiği görülüyor.
Map
1 | package main |
- Slice’den farklı olarak anahtar-değer yapısı mevcuttur.
1 | map[black:#000000 white:#FFFFFF] |
KOŞUL İFADELERİ
IF Statement
1 | package main |
Switch Case
1 | package main |
DÖNGÜLER
For Döngüsü
1 | package main |
For Döngüsünün Belirli Aralık için Kullanımı
1 | package main |
Koşullu Döngüler
1 | package main |
- Örnek kod bloğunda yapı olarak farklı bir kullanım mevcuttur fakat döngüler mantık olarak aynı işlevi görmektedir. (x ve y değerleri “< 3” olduğu sürece işlem sürecektir.)
FONKSİYON KAVRAMI
1 | package main |
- Fonksiyonlar yapı olarak aşağıdaki gibi tanımlanmaktadır.
1 | func fonksiyon_adi(degisken_adı degişken_tipi) { |
- Herhangi bir değeri return ediyorsa yapı aşağıdaki gibi olmaktadır.
1 | func fonksiyon_adi(degisken_adı degişken_tipi) donus_tipi { |
- Birden fazla değer return edilecekse eğer yapı aşağıdaki gibi olmaktadır.
1 | func fonksiyon_adi(degisken_adı degişken_tipi) (donus_tipi,donus_tipi2) { |
STRUCT KAVRAMI
- Struct ile bellek içerisinde aynı tipte veri grubu oluşturulmaktadır. Oluşturulan bu değişkenlere bellek üzerinde tek bir adres ve pointer atanmaktadır.
1 | type car struct { |
- Struct oluşturma, örnekte olduğu gibi gerçekleşmektedir.
- Oluşturulan Struct yapısı farklı bir Struct grubu ile extend edilebildiği gibi çeşitli fonksiyonlar da eklenebilmektedir.
1 | type car struct { |
- Struct içerisindeki elemanlar yeni veri grubu ile extend edilmek istendiğinde, oluşturulan yeni Struct içerisinde eklenmesi istenen Struct’ın adı belirtilmelidir.
1 | func (calc car) oldCalculator() int { |
- Struct için fonksiyon özelliği eklenmek istediğinde, ilgili Struct, oluşturulan fonksiyona parametre olarak verilmelidir.
1 | package main |
- Struct’ın oluşturulması, extend edilmesi, fonksiyon eklenmesi ve kullanılmasına dair basit bir örnek.
1 | Model: e200 Brand: 100000 Horse Power: 200 Old: 18 |
INTERFACE KAVRAMI
1 | package main |
- Interfaceler mantık olarak class yapısına benzer fakat static değişkenlere sahiptir. Bu static değişkenler kullanılarak tanımlanan metodlar gerçekleştirilmektedir.