go 結構的方法2

你能夠對包中的 任意 類型定義任意方法,而不單單是針對結構體。import

可是,不能對來自其餘包的類型或基礎類型定義方法。基礎

package main

import (
    "fmt"
    "math"
)

type MyFloat float64
//定義在告終構體上
func (f MyFloat) Abs() float64 {
    if f < 0 {
        return float64(-f)
    }
    return float64(f)
}

func main() {
    f := MyFloat(-math.Sqrt2)
//直接使用結構的實例調用方法
    fmt.Println(f.Abs())
}
相關文章
相關標籤/搜索