go语言开发交流qq群 857263711 保持进步 希望每个人都能找到自己喜欢的方式生活、工作。

go 结构的方法2

你可以对包中的 任意 类型定义任意方法,而不仅仅是针对结构体。

但是,不能对来自其他包的类型或基础类型定义方法。

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())
}
 

posted on 2019-07-15 23:00  送欢  阅读(76)  评论(0编辑  收藏  举报

导航