İşlev Temelleri ve İmzalar
Parametreler, dönüş türleri ve çağırma kuralları
İşlev Temelleri ve İmzalar, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
İşlev Tanımlama
Go'da işlevler func anahtar sözcüğüyle tanımlanır:
func greet(name string) string {
return "Hello, " + name
}Parametreler ve Argümanlar
Parametrelerin türü belirtilir ve name type çiftleri olarak listelenir. Aynı türdeki birden çok parametre tür açıklamasını paylaşabilir:
func add(x, y int) int {
return x + y
}
func rect(w, h float64) float64 {
return w * h
}Değer Döndürmeyen İşlevler
Değer döndürmeyen işlevlerde dönüş türü belirtilmez. Çalışma işlemi sona ulaştığında örtük olarak dönerler:
func printBanner(title string) {
fmt.Println("=====", title, "======")
}İşlev Çağırma
Bir işlevi, adını parantezlerle ve eşleşen argümanlarla kullanarak çağırın:
result := add(3, 4) // 7
fmt.Println(greet("Go")) // Hello, Go
printBanner("Welcome")Birinci Sınıf Değerler Olarak İşlevler
Go'da işlevler birinci sınıf değerlerdir — değişkenlere atanabilir ve argüman olarak geçirilebilirler:
apply := func(n int, f func(int) int) int {
return f(n)
}
double := func(n int) int { return n * 2 }
fmt.Println(apply(5, double)) // 10İşlev Türleri
Daha temiz imzalar için adlandırılmış işlev türleri tanımlayabilirsiniz:
type Transform func(int) int
func applyAll(n int, fns []Transform) int {
for _, f := range fns {
n = f(n)
}
return n
}Özyinelemeli İşlevler
Go özyinelemeyi destekler. Yığın derinliğine dikkat edin — Go'nun goroutine yığınları dinamik olarak büyür, ancak sınırsız özyineleme yine de yığın taşmasına neden olur:
func factorial(n int) int {
if n <= 1 {
return 1
}
return n * factorial(n-1)
}İşlev Adlandırma Kuralları
Go'da işlev adlandırma kuralları:
MixedCaps(dışa aktarılan) veyamixedCaps(dışa aktarılmayan) kullanın- Kısa ve eylem odaklı adlar kullanın:
New,Get,Parse,Write - Basit alıcılar için
GetXkullanmaktan kaçının — yalnızcaXkullanın - Mantıksal yüklemler:
IsValid,HasPrefix
init() İşlevi
Özel bir init() işlevi, paket yüklenirken main()'den önce otomatik olarak çalışır:
- Argüman almaz ve hiçbir şey döndürmez
- Bir pakette birden çok init() işlevi bulunabilir
- Sürücüleri kaydetme gibi tek seferlik kurulumlar için kullanın
İşlev ve Yöntem Karşılaştırması
Bir işlev herhangi bir türle ilişkili değildir. Bir yöntemin alıcısı vardır (Yapılar ve Yöntemler bölümünde ele alınacaktır). Her ikisi de func anahtar sözcüğünü kullanır:
// Function
func max(a, b int) int { ... }
// Method
func (c Counter) Value() int { ... }Hızlı Kontrol
Go'da bir işlev birden çok değer döndürebilir mi?
Özet: İşlev Temelleri
Go işlevleri ifade gücü yüksek ve esnektir:
func name(params) returnType { }- Aynı türdeki parametreler tür açıklamalarını paylaşabilir
- İşlevler birinci sınıf değerlerdir
- Yeniden kullanılabilir imzalar için işlev türleri tanımlayın
- Özyineleme desteklenir; init(), paket yüklendiğinde çalışır
Sonraki konu: birden çok dönüş değerinin ayrıntılı incelenmesi.
Sıkça Sorulan Sorular
“İşlev Temelleri ve İmzalar” dersi ücretsiz mi?
Evet — “İşlev Temelleri ve İmzalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“İşlev Temelleri ve İmzalar” dersinde ne öğreneceğim?
Parametreler, dönüş türleri ve çağırma kuralları Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“İşlev Temelleri ve İmzalar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İşlev Temelleri ve İmzalar
- Birden Çok Dönüş Değeri
- Değişken Sayıda Bağımsız Değer Alan İşlevler
- defer, Anonim İşlevler ve Kapanışlar