aboutsummaryrefslogtreecommitdiff
path: root/content/methods/methods-pointers-explained.go
diff options
context:
space:
mode:
authorAndrew Gerrand <adg@golang.org>2016-01-05 16:43:40 +1100
committerAndrew Gerrand <adg@golang.org>2016-01-07 02:11:17 +0000
commitfe12a66e2eb3cf260ea027cfaf5a6b2c9194c7dc (patch)
tree279ab263b6b17f3b239a35924c65fbcf944dd37e /content/methods/methods-pointers-explained.go
parent4e6c47c1628134f8c4a5fd58b7b61ac30a25b632 (diff)
downloadgolang-id-tour-fe12a66e2eb3cf260ea027cfaf5a6b2c9194c7dc.tar.xz
content: expand discussion of methods
Fixes golang/go#13818 Change-Id: I22817c0c3bfa3d7e5a769f239a2521c293112a43 Reviewed-on: https://go-review.googlesource.com/18246 Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'content/methods/methods-pointers-explained.go')
-rw-r--r--content/methods/methods-pointers-explained.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/content/methods/methods-pointers-explained.go b/content/methods/methods-pointers-explained.go
new file mode 100644
index 0000000..db9107a
--- /dev/null
+++ b/content/methods/methods-pointers-explained.go
@@ -0,0 +1,27 @@
+// +build OMIT
+
+package main
+
+import (
+ "fmt"
+ "math"
+)
+
+type Vertex struct {
+ X, Y float64
+}
+
+func Abs(v Vertex) float64 {
+ return math.Sqrt(v.X*v.X + v.Y*v.Y)
+}
+
+func Scale(v *Vertex, f float64) {
+ v.X = v.X * f
+ v.Y = v.Y * f
+}
+
+func main() {
+ v := Vertex{3, 4}
+ Scale(&v, 10)
+ fmt.Println(Abs(v))
+}