Menetapkan Nilai Lalai dalam Fungsi Go
Walaupun Go tidak menyediakan cara asli untuk menentukan nilai lalai dalam parameter fungsi, beberapa pendekatan alternatif boleh mencapai fungsi ini.
Pilihan 1: Dikawal Pemanggil Lalai
Dalam pendekatan ini, pemanggil boleh secara eksplisit menentukan nilai lalai dengan menyemak sama ada parameter kosong atau sifar. Contohnya:
func SaySomething(i string) string { if i == "" { i = "Hello" } return i }
Pilihan 2: Parameter Pilihan
Anda boleh mentakrifkan parameter sebagai pilihan dengan meletakkannya di hujung senarai parameter. Dalam kes ini, fungsi akan menggunakan nilai lalai jika tiada hujah disediakan.
func Concat(a string, b int) string { if b == 0 { b = 5 } return a + strconv.Itoa(b) }
Pilihan 3: Struktur Konfigurasi
Buat struct dengan nilai lalai untuk parameter fungsi anda. Ini menyediakan cara deklaratif untuk menetapkan lalai.
type Config struct { Name string `default:"John Doe"` Age int `default:"0"` } func Greet(c Config) string { return fmt.Sprintf("Hello, %s! You are %d years old.", c.Name, c.Age) }
Pilihan 4: Argumen Variadik
Pendekatan ini membolehkan anda menghuraikan argumen masuk dan menetapkan nilai lalai dengan sewajarnya.
func ProcessArgs(args ...interface{}) { a := "default-a" b := 5 for _, arg := range args { switch v := arg.(type) { case string: a = v case int: b = v } } // Use a and b }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Nilai Lalai untuk Parameter Fungsi dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!