Modül dersleri (1/5)
İmza ve parametreler
Go'da işlevler func ile bildirilir. İmza sözdizimi farklı
C/Java'dan: tür parametre adından sonra gelir, bir karakterle ayrılmış olarak
uzay. Bu, yüksek sesle daha iyi okunan bir seçimdir - bunun yerine "int tipinde n"
"int n".
Temel sözdizimi
func sum(a int, b int) int {
return a + b
}
func greet(name string) {
fmt.Println("ciao", name)
}Dönüş değeri olmayan bir işlev, dönüş türünü atlar.
Aynı türden ardışık parametreler
Ardışık birden fazla parametre aynı türü paylaşıyorsa, şunu bildirebilirsiniz: sonuncusunda sadece bir kez. Deyimseldir ve her yerde göreceksiniz:
func sum(a, b int) int { return a + b }
func max3(a, b, c float64) float64 { /* ... */ }
func parse(s, sep string, limit int) []string { /* ... */ }Dışa aktarılan ve dışa aktarılmayan işlevler
Go'da görünürlük ada göre belirlenir: başlayan tanımlayıcılar büyük harfle yazılanlar dışa aktarılır (diğer paketlerden görülebilir), diğerleri pakete özeldir.
func Sum(a, b int) int { ... } // esportata
func helper() { ... } // privata al packageDeğer olarak işlevler
İşlevler birinci sınıf değerlerdir: onları atayabilir, iletebilir ve onları iade et. Kapanışlarla ilgili derste daha derinlere ineceğiz.
op := sum // op ha tipo func(int, int) int
fmt.Println(op(2, 3)) // 5main ve init: iki özel ad
func main(),mainpaketinin giriş noktasıdır. Tartışma yok, dönüş değeri yok.func init()paket başlangıcında otomatik olarak çağrılır (hatta birden fazla birden fazla dosya bir tane tanımlıyorsa kez). Kurulum için kullanışlıdır; dikkatli kullanın.
Deneyin
a+b değerini döndüren sum(a, b int) int işlevini tanımlayın, ardından onu main'de (3, 4) ile çağırın.
İpucu göster
Paylaşılan tür: `(a, b int)`. Dönüş türü parantezlerden sonra gelir.
3 denemeden sonra çözüm mevcut
'ciao <isim>' yazan selamlamayı(isim dizisi) (dönüş değeri yok) tanımlayın.
İpucu göster
İşlev hiçbir şey döndürmezse dönüş türü yoktur.
3 denemeden sonra çözüm mevcut
Parametre türü Go'da nereye gider?
func f(? ?) {}Özet
func name(param type, ...) returnType { ... }.- Adın ardından yazın; aynı türden ardışık parametreler → bunu yalnızca bir kez bildirin.
- Büyük harf = dışa aktarıldı; küçük harf = pakete özel.
- Fonksiyonlar birinci sınıftır (atanabilir, geçirilebilir).
mainveinitözel anlamlara sahip ayrılmış adlardır.