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

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

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

最新文章

  1. JavaScript 嵌套 书名号 查询
  2. 人工智能与3A
  3. jQuery事件对象event的属性和方法
  4. linux ulimit调优
  5. linux设备驱动归纳总结(四):1.进程管理的相关概念【转】
  6. MySQL与Oracle 差异比较之一数据类型
  7. excel公式应用大全
  8. protobuf 作为配置文件
  9. DOS命令生成文件列表
  10. Swift中扩展的使用
  11. CodeSmith使用总结--下拉列表和文件夹对话框属性
  12. Ubuntu配置OpenGL环境
  13. JQuery坑,说说哪些大家都踩过的坑
  14. 为了异常安全(swap,share_ptr)——Effecive C++
  15. [error]configure: error: You need a C++ compiler for C++ support.
  16. fedora make: gcc:命令未找到(解决方法)
  17. [转] Mongoose初使用总结
  18. Alpha 冲刺11——总结
  19. Android开发——官方推荐使用DialogFragment替换AlertDialog
  20. php js css加载合并函数 宋正河整理

热门文章

  1. 如何在虚拟机中安装kali linux
  2. [Linux] pwm设备驱动调试
  3. T-MAX-凡事预则立
  4. Delphi BASE64单元EncdDecd的修改
  5. Linux 端口被进程多次占用,LINUX最好用查看端口占用并杀死(kill)的方式
  6. SQL-W3School-函数:SQL MIX() 函数
  7. mouse without borders无界鼠标使用教程
  8. Mysql常见索引介绍
  9. Yarn简单介绍及内存配置
  10. PHP实现简单留言板