Add support for the Go programming language.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12108 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
09f14197ac
commit
5af2978f77
259 changed files with 16159 additions and 14 deletions
47
Examples/go/pointer/runme.go
Normal file
47
Examples/go/pointer/runme.go
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
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 array which in Java 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])
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue