/* 函数返回两个数的最大值 */ func max(num1, num2 int) int {...}
下面示例为 float64 基本类型扩充了方法IsEqual,该方法主要是解决精度问题。 其方法调用方式为: a.IsEqual(double) ,如果不扩充方法,我们只能使用函数IsEqual(a, b float64)
//定义新的类型double,主要目的是给float64类型扩充方法 type double float64
//判断a是否等于b func (a double) IsEqual(b double) bool { var r = a - b if r == 0.0 { return true } else if r < 0.0 { return r > -0.0001 } return r < 0.0001 }
//判断a是否等于b func IsEqual(a, b float64) bool { var r = a - b if r == 0.0 { return true } else if r < 0.0 { return r > -0.0001 } return r < 0.0001 }
func main() { var a double = 1.999999 var b double = 1.9999998 fmt.Println(a.IsEqual(b)) fmt.Println(a.IsEqual(3)) fmt.Println( IsEqual( (float64)(a), (float64)(b) ) )
}
函数返回多个值
func swap(x, y string) (string, string) { return y, x }
func main() { a, b := swap("Mahesh", "Kumar") fmt.Println(a, b) // 有时候只关心某一个返回值,可以把其他的返回值赋给_ _, b:= swap("a","b")