mirror of https://github.com/swig/swig
39 lines
644 B
Go
39 lines
644 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"swigtests/example"
|
|
)
|
|
|
|
type mycallbacks struct {
|
|
example.Callbacks
|
|
}
|
|
|
|
var tststrs = []string{ "A", "BCD", "EFGH" }
|
|
var tstint int = 5
|
|
|
|
func (v *mycallbacks) Call1(val int, strarray []string) bool {
|
|
var rv bool = true
|
|
|
|
for i, s := range strarray {
|
|
fmt.Printf("%d: %s\n", i, s)
|
|
if s != tststrs[i] {
|
|
fmt.Printf(" ***Mismatch, expected %s\n", tststrs[i])
|
|
rv = false
|
|
}
|
|
}
|
|
if val != tstint {
|
|
rv = false
|
|
}
|
|
return rv
|
|
}
|
|
|
|
func main() {
|
|
cbs := &mycallbacks{}
|
|
cbs.Callbacks = example.NewDirectorCallbacks(cbs)
|
|
worked := example.Check1(cbs, tstint, tststrs)
|
|
if !worked {
|
|
panic("Data mismatch")
|
|
}
|
|
}
|