package school import "fmt" func init() { fmt.Println("school包初始化了") } type School struct { } func (s *School) PrintSchool() { fmt.Println("我是一所学校") }
package home import "fmt" func init() { fmt.Println("home包初始化了") } type User struct{} func (u *User) PrintUser() { fmt.Println("我是一个用户") }
package main import ( "fmt" "godemo/home" "godemo/school" ) func main() { fmt.Println("main func 执行了") school := school.School{} school.PrintSchool() home := home.User{} home.PrintUser() } func init() { fmt.Println("main包初始化了") }
上面图片中代码里 school包和home包 都有init(),问题:打印顺序是什么样的?
结果如下
一个包可以有多个init函数吗?
答案:可以
标签:school,函数,fmt,init,func,home,main From: https://www.cnblogs.com/thcn/p/18536752