Yazma ayarları yenilenemedi. Tekrar denemek için sayfayı yeniden yükleyin.
Klavyede 10 parmakla yazma dersi: Go dilinde programlama
Doğruluk hesaplama kuralları değişti. Bu alıştırma baştan başlıyor.
Tamamlanan oturumunuzun kaydedildiği doğrulanamadı. Metni yeniden yazmadan kaydetmeyi tekrar deneyin.
Klavyede 10 parmakla yazma dersi: Go dilinde programlama
Programlamada 10 parmak klavye önemlidir. Go programlama dilinde kod yazmak için hızlı yazma tekniklerini kullanarak daha verimli olursunuz.
Go dilinde programlama ve 10 parmak klavye
Go ile programlama ve 10 parmak klavye doğal olarak bir araya gelir. Go'nun katı sözdizimi kuralları ve hızlı yazarken hata yapmayı kolaylaştıran özel karakterleri vardır. Bir süslü parantez ya da operatör hatası derleme hatasına yol açabilir.
Go sözdiziminde neler karakteristiktir?
Go, temiz ve minimalist bir stile sahip derlenen bir dildir (İngilizce: compiled language). Kaynak kod her zaman package bildirimiyle başlar. İçe aktarımlar ayrı ayrı bildirilebilir veya bloklar hâlinde gruplandırılabilir. Fonksiyonlar func anahtar sözcüğüyle tanımlanır ve süslü parantez {} ile çevrelenir. Go dilinde girintileme blokları belirlemez; go fmt kodu standart biçime getirir. Kaynak kodda noktalı virgüller genellikle yazılmaz; derleyici bunları belirli kurallara göre satır sonlarına ekler.
package main
import "fmt"
func main() {
fmt.Println("Hello, Go")
}
Dikkat edilmesi gereken karakterler
Go kodunda sıkça karşılaşacağınız karakterler: süslü parantezler {}, normal parantezler (), köşeli parantezler [], çift tırnak ", backtick `, kısa bildirim operatörü := ve kanal oku <-.
Değişkenler ve bildirimler
Go'da var bildirimi ile kısa değişken bildirimi := ayrıdır. := iki sembolü birleştirir ve çok sık kullanılır.
var count int = 10
message := "typed correctly"
Denetim yapıları
Go'da if, for ve switch vardır; while yoktur. ==, !=, <, > ve ++ gibi operatörleri eksiksiz yazmak gerekir.
for i := 0; i < 5; i++ {
if i%2 == 0 {
fmt.Println("even")
}
}
Fonksiyonlar ve birden çok dönüş değeri
Fonksiyonlar birden fazla değer döndürebilir. Bu da dönüş listelerinde ve atamalarda virgüllerin sık kullanılacağı anlamına gelir.
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("division by zero")
}
return a/b, nil
}
result, err := divide(10, 2)
Slices, map'ler ve birleşik literal'ler
Köşeli [] ve süslü {} parantezler çok sık kullanılır. Map'lerde anahtar ile değer arasına iki nokta : konur.
nums := []int{1, 2, 3}
scores := map[string]int{"alice": 5, "bob": 7}
Struct'lar ve metotlar
struct tipi veriyi gruplar. Metotların bir alıcı (receiver) parametresi vardır ve nokta . ile çağrılır.
type User struct {
Name string
}
func (u User) Greet() string {
return "Hello " + u.Name
}
u := User{Name: "A"}
fmt.Println(u.Greet())
Arayüzler
Go'da arayüzler (İngilizce: interfaces) örtük olarak sağlanır; implements gibi bir anahtar sözcük yoktur.
type Stringer interface {
String() string
}
Eşzamanlılık ve kanallar
Kanal oku <- Go'ya özgüdür. Gönderim için ch <- value, alım için value := <-ch kullanılır.
ch := make(chan int)
go func() { ch <- 42 }()
value := <-ch
Dizgiler (strings) ve runeler
Normal dizgiler için çift tırnak, raw string için backtick, tek tırnak ise rune için kullanılır.
text := "normal string"
raw := `path\to\file`
r := 'a'
Girinti ve biçimlendirme
gofmt kodu tutarlı bir biçimde düzenler. Süslü parantezlerin ve satır sonlarının konumu önemlidir. Sık yapılan hata: return ile döndürülen değer arasına satır sonu koymak.
Özet
Go'daki temel karakterler: süslü parantezler {}, parantezler (), köşeli parantezler [], kısa bildirim operatörü := ve kanal oku <-. Bunları hatasız yazmak hızlı ve doğru kodlamanın anahtarıdır.