/trunk/Examples/go/pointer/runme.go
Go | 47 lines | 29 code | 10 blank | 8 comment | 0 complexity | 8e36a29746fe17dde0979fcad41d5961 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- package main
- import (
- "fmt"
- . "./example"
- )
- func main() {
- // First create some objects using the pointer library.
- fmt.Println("Testing the pointer library")
- a := New_intp()
- b := New_intp()
- c := New_intp()
- Intp_assign(a, 37)
- Intp_assign(b, 42)
- fmt.Println(" a =", a)
- fmt.Println(" b =", b)
- fmt.Println(" c =", c)
- // Call the add() function with some pointers
- Add(a, b, c)
- // Now get the result
- res := Intp_value(c)
- fmt.Println(" 37 + 42 =", res)
- // Clean up the pointers
- Delete_intp(a)
- Delete_intp(b)
- Delete_intp(c)
- // Now try the typemap library
- // Now it is no longer necessary to manufacture pointers.
- // Instead we use a single element slice which in Go is modifiable.
- fmt.Println("Trying the typemap library")
- r := []int{0}
- Sub(37, 42, r)
- fmt.Println(" 37 - 42 = ", r[0])
- // Now try the version with return value
- fmt.Println("Testing return value")
- q := Divide(42, 37, r)
- fmt.Println(" 42/37 = ", q, " remainder ", r[0])
- }