Nama fungsi dalam Go mestilah unik dalam pakej yang sama. Jika konflik penamaan berlaku, strategi berikut boleh digunakan untuk mengendalikannya: Gunakan nama yang layak: terdiri daripada nama pakej dan nama fungsi, seperti: package main; func PrintHello() { fmt.Println("Hello !") } Gunakan alias: Tentukan alias semasa mengimport, seperti: pakej utama; import f "fmt"; func PrintHello() { f.Println("Hello!") } Gunakan fungsi bersarang: gunakan nama fungsi yang sama dalam fungsi dalaman, seperti: pakej utama ; func main() { printHello := func() { fmt.Println("Hello!") }; printHello() }
Pengendalian nama fungsi dalam Go
Dalam bahasa Go, nama fungsi Mesti unik dalam pakej yang sama. Apabila konflik penamaan berlaku, pengkompil Go akan melaporkan ralat. Berikut ialah beberapa strategi untuk mengendalikan konflik nama fungsi:
1. Gunakan nama yang layak
Konflik penamaan boleh diselesaikan dengan menggunakan nama yang layak. Nama yang layak terdiri daripada nama pakej dan nama fungsi, contohnya:
package main import "fmt" func PrintHello() { fmt.Println("Hello!") }
2 Menggunakan alias
Anda boleh menggunakan alias untuk menyelesaikan konflik penamaan semasa mengimport pakej. Contohnya:
package main import f "fmt" func PrintHello() { f.Println("Hello!") }
3. Gunakan fungsi bersarang
untuk menggunakan semula nama fungsi dalam fungsi dalaman. Contohnya:
package main func main() { printHello := func() { fmt.Println("Hello!") } printHello() }
Kes praktikal
Andaikan anda ada dua pakej, pkg1
和 pkg2
,它们都包含具有相同名称的函数 Print
.
pkg1/print.go
package pkg1 func Print() { fmt.Println("Print from pkg1") }
pkg2/print.go
package pkg2 func Print() { fmt.Println("Print from pkg2") }
Untuk menyelesaikan konflik penamaan, anda boleh menggunakan salah satu strategi berikut:
package main import ( "pkg1" "pkg2" ) func main() { pkg1.Print() pkg2.Print() }
package main import ( p1 "pkg1" p2 "pkg2" ) func main() { p1.Print() p2.Print() }
Atas ialah kandungan terperinci Bagaimanakah nama fungsi golang mengendalikan konflik penamaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!