本篇开始相当于go语言的面象对象部分,官方说,yes or no,可是可不是

1:给结构体添加行为方法时,传指针可以不复制数据

    func (s Student) String() string 
    func (s *Student) String1() string 

2.Go倡导更小的接口,很多接口只包含一个方法,大接口可以由多个小接口组成

3.os.exit不会调用defer函数,panic会调用defer

4.如果不想panic导致程序失败,打印信息,可以使用recover

defer func() {
   if err := recover(); err != nil {
      fmt.Print("recover")
   }
}()

5.但是recover会导致形成僵尸服务进程,health check 失效,谨慎使用吧

6.如何自己写个包(模块):建个目录,下面的go file 的package都要一致,然后对外暴露的东西大写开头,init方法可以进行初始化,可以有多个init方法


彩笔梳子
10 声望2 粉丝