Go 语言基础——init函数

2019-08-19  本文已影响0人  刘彦青
package Series

import "fmt"

func init() {
    fmt.Println("init1")
}

func init() {
    fmt.Println("init2")
}

func Square(n int) int {
    return n * n
}

func GetFibonacciSerie(n int) []int {
    ret := []int{1, 1}
    for i := 2; i < n; i++ {
        ret = append(ret, ret[i-2]+ret[i-1])
    }
    return ret
}

  1. 在main被执行前,所有依赖的package的init方法都会被执行(类似与Java中的代码块)

  2. 不同包的init函数按照包导入的依赖关系决定执行顺序·

  3. 每个包可以有多个init函数,多个init函数依次执行。

  4. 包的每个源文件也可以有多个init函数,这点比较特殊

上一篇 下一篇

猜你喜欢

热点阅读