• 函数分组与排布顺序

    函数分组与排布顺序

    • 函数应该粗略的按照调用顺序来排布
    • 同一文件中的函数应该按照接收器的类型来分组排布 所以,公开的函数应排布在文件首,并在 struct、const 和 var 定义之后。

    newXYZ()/ NewXYZ() 之类的函数应该排布在声明类型之后,具有接收器的其余方法之前。

    因为函数是按接收器类别分组的,所以普通工具函数应排布在文件末尾。

    BadGood
    1. func (s something) Cost() {
    2. return calcCost(s.weights)
    3. }
    4. type something struct{ }
    5. func calcCost(n int[]) int {…}
    6. func (s something) Stop() {…}
    7. func newSomething() something {
    8. return &something{}
    9. }
    1. type something struct{ }
    2. func newSomething() something {
    3. return &something{}
    4. }
    5. func (s something) Cost() {
    6. return calcCost(s.weights)
    7. }
    8. func (s something) Stop() {…}
    9. func calcCost(n int[]) int {…}