From dbcd180706ca71f22e2f435a7787b53e0c2e234f Mon Sep 17 00:00:00 2001 From: "Stephen M. McQuay" Date: Mon, 27 Aug 2012 22:32:36 -0600 Subject: [PATCH] example of method on a file-specific type --- methods/methods.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/methods/methods.go b/methods/methods.go index 2405554..a33ce06 100644 --- a/methods/methods.go +++ b/methods/methods.go @@ -19,9 +19,23 @@ func (v *vertex) scale(s float64) { v.y *= s } +type myfloat float64 + +func (f myfloat) abs() float64 { + if f < 0 { + return float64(-f) + } + return float64(f) +} + func main() { v := vertex{1.1, 2.2} fmt.Println(v.abs()) v.scale(12) fmt.Println(v.abs()) + + f := myfloat(12.23) + fmt.Println(f.abs()) + fmt.Println(-f) + fmt.Println((-f).abs()) }