Programlamada 10 parmak klavye önemlidir. Go programlama dilinde kod yazmak için hızlı yazma tekniklerini kullanarak daha verimli olursunuz.
Go ve 10 parmak klavye dilinde programlama
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 hemen yol açar.
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 bloklar hâlinde gruplandırılır. Fonksiyonlar func
anahtar sözcüğüyle tanımlanır ve süslü parantez {}
ile çevrelenir. Girintileme isteğe bağlı değildir - Go go fmt
ile biçimlendirmeyi zorunlu kılar. Noktalı virgül yazılmaz; derleyici satır sonlarında otomatik 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 atama :=
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
Go tek tip bir stil dayatır. Süslü parantezlerin ve satır sonlarının konumu önemlidir. Sık yapılan hata: return
ifadesinin hemen ardından satır kırmak.
Ö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.