Mengikuti amalan terbaik berfungsi adalah kritikal. Elakkan contoh balas berikut: Fungsi yang terlalu panjang Fungsi tanpa docstring Parameter output Fungsi bersarang Terlalu banyak fungsi Mengembalikan kod ralat dan bukannya nilai ralat
5 contoh balas yang melanggar amalan terbaik fungsi bahasa Go
dalam penulisan Go tinggi -kod kualiti dalam bahasa, adalah penting untuk mengikuti amalan terbaik berfungsi. Mengelakkan contoh balas berikut boleh membantu anda menulis fungsi yang boleh diselenggara, boleh dibaca dan cekap.1. Fungsi yang terlalu panjang
func DoEverything(a, b int, c string, d bool) (int, error) { if c == "" { return 0, errors.New("c cannot be empty") } if !d { return 1, errors.New("d must be true") } return a + b, nil }
2. Fungsi tanpa docstrings
func DoSomething(x int) int { return x * x }
3. Parameter Output
func Swap(a, b *int) { tmp := *a *a = *b *b = tmp }
4. Terlalu banyak fungsi bersarang
func Nested(x int) int { if x > 10 { func inner(y int) int { return y + 1 } return inner(x) } return x }
5. Fungsi mengembalikan kod ralat dan bukannya nilai ralat
func OpenFile(name string) int { f, err := os.Open(name) if err != nil { return -1 } return f.Fd() }
Contoh Praktikal
Pertimbangkan fungsi berikut yang perlu menukar senarai kepada kamus:// 不遵循最佳实践的示例 func ConvertListToDict(list []string) map[string]bool { dict := make(map[string]bool) for _, v := range list { dict[v] = true } if len(dict) != len(list) { return nil } return dict }
nil
,但文档字符串未说明此情况。nil
Nilai pulangan ialah nil
, tetapi docstring tidak menyatakan Syarat ini. nil
. Contoh mengikuti amalan terbaik
// 遵循最佳实践的示例 func ConvertListToDict(list []string) (map[string]bool, error) { dict := make(map[string]bool) for _, v := range list { if _, ok := dict[v]; ok { return nil, errors.New("duplicate element in list") } dict[v] = true } return dict, nil }
Atas ialah kandungan terperinci Contoh balas yang melanggar amalan terbaik fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!