//aardio 调用 Go 语言 - 结构体操作 import console.int; import golang; var go = golang(); go.main = /********** package main import "C" import "unsafe" import "fmt" //声明结构体 type Point struct { x int y int } //export SetPoint func SetPoint(p uintptr) { // aardio 结构体转换为 Go 结构体 point := (*Point)(unsafe.Pointer(p)) point.x = 1 point.y = 2 /* Go 用 fmt.Println 打印变量很方便,可传入多个任意类型的参数。 */ fmt.Println( "在 Go 中打印结构体:",point ); } func main() {} **********/ go.buildShared("/.go/TestStruct.go"); //------------------下面调用 DLL----------------------- var goDll = raw.loadDll("/.go/TestStruct.dll",,"cdecl"); //声明结构体 class Point { int x; int y; } //创建结构体 var point = Point(); //调用 Go 函数,传结构体(结构体总是传址) goDll.SetPoint(point); //打印结构体 console.dumpJson(point); //结构体就是表(table),也可以这样直接写 goDll.SetPoint({ int x = 1; int y = 2; });