git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12108 626c5289-ae23-0410-ae9c-e8d60b6d4f22
43 lines
631 B
Go
43 lines
631 B
Go
// This example illustrates how C++ templates can be used from Go.
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
. "./example"
|
|
)
|
|
|
|
func main() {
|
|
|
|
// Call some templated functions
|
|
fmt.Println(Maxint(3, 7))
|
|
fmt.Println(Maxdouble(3.14, 2.18))
|
|
|
|
// Create some class
|
|
iv := NewVecint(100)
|
|
dv := NewVecdouble(1000)
|
|
|
|
for i := 0; i < 100; i++ {
|
|
iv.Setitem(i, 2*i)
|
|
}
|
|
|
|
for i := 0; i < 1000; i++ {
|
|
dv.Setitem(i, 1.0/float64(i+1))
|
|
}
|
|
|
|
{
|
|
sum := 0
|
|
for i := 0; i < 100; i++ {
|
|
sum = sum + iv.Getitem(i)
|
|
}
|
|
fmt.Println(sum)
|
|
}
|
|
|
|
{
|
|
sum := float64(0.0)
|
|
for i := 0; i < 1000; i++ {
|
|
sum = sum + dv.Getitem(i)
|
|
}
|
|
fmt.Println(sum)
|
|
}
|
|
}
|