Mengikuti amalan terbaik berikut semasa membuat jenis tersuai dalam Go boleh meningkatkan kualiti kod: gunakan huruf besar pertama, gunakan alias jenis yang disyorkan, gunakan struct, gunakan benam untuk mengelakkan pertindihan, laksana antara muka. Amalan ini meningkatkan organisasi, kebolehbacaan dan kebolehselenggaraan, seperti jenis troli beli-belah yang ditunjukkan dalam contoh praktikal.
Amalan terbaik semasa membuat jenis tersuai dalam Go
Mencipta jenis tersuai dalam Go boleh meningkatkan organisasi, kebolehbacaan dan kebolehselenggaraan kod anda. Mengikuti beberapa amalan terbaik boleh memastikan bahawa jenis tersuai anda direka bentuk dengan baik dan berkesan.
Huruf besar huruf pertama
Mengikut konvensyen Go, huruf pertama nama jenis tersuai hendaklah menggunakan huruf besar. Ini membantu membezakan jenis tersuai daripada pengecam lain.
type Customer struct { // ... } type Order struct { // ... }
Gunakan alias jenis yang disyorkan
Untuk jenis terbina dalam yang biasa digunakan, adalah disyorkan untuk menggunakan alias jenis yang disyorkan. Contohnya, untuk ralat, gunakan alias jenis ralat
bukannya antara muka{}
. error
类型别名而不是 interface{}
。
type MyError struct { msg string } func (e MyError) Error() string { return e.msg } func CheckSomething() error { // ... }
使用 struct
使用 struct
来表示具有多个字段的自定义数据类型。将相关字段组合到一个 struct
中可以提高代码的可读性和可维护性。
type Person struct { Name string Age int Address string }
使用 embed 来避免重复
当多个自定义类型具有相同的子集字段时,可以使用 embed
type Person struct { Name string Age int Contact Information } type Information struct { Address string Phone string }
Gunakan struct
Gunakanstruct
untuk mewakili jenis data tersuai dengan berbilang medan. Mengumpulkan medan berkaitan ke dalam struct
boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod. type Shape interface { Area() float64 } type Rectangle struct { Width float64 Height float64 } func (r Rectangle) Area() float64 { return r.Width * r.Height }
Gunakan benam untuk mengelakkan pertindihan
Apabila berbilang jenis tersuai mempunyai medan subset yang sama, anda boleh menggunakantype Cart struct { Items []Item TotalPrice float64 } type Item struct { Name string Price float64 Qty int } func main() { // 创建购物车 cart := &Cart{} // 向购物车添加物品 item1 := Item{Name: "Apple", Price: 1.0, Qty: 1} item2 := Item{Name: "Banana", Price: 1.5, Qty: 2} cart.Items = append(cart.Items, item1, item2) // 计算总价 for _, item := range cart.Items { cart.TotalPrice += item.Price * float64(item.Qty) } // 打印购物车内容 fmt.Printf("Shopping cart contents:\n\n") for _, item := range cart.Items { fmt.Printf("%s (%dx): $%.2f\n", item.Name, item.Qty, item.Price) } // 打印总价 fmt.Printf("\nTotal price: $%.2f\n", cart.TotalPrice) }
Melaksanakan antara muka
🎜🎜Melaksanakan antara muka membolehkan jenis tersuai mempunyai fungsi tambahan. Ini boleh dicapai dengan menentukan kaedah jenis yang memenuhi tandatangan kaedah antara muka. 🎜rrreee🎜🎜Kes praktikal🎜🎜🎜Mari kami cipta jenis tersuai yang mewakili bakul beli-belah: 🎜rrreee🎜Jenis tersuai ini merangkum data troli beli-belah, memudahkan proses mengurus berbilang item dan mengira jumlah harga. 🎜Atas ialah kandungan terperinci Apakah amalan terbaik semasa membuat jenis tersuai di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!