aardio 文档
aardio 范例: 调用 Go 语言 - 结构体操作
//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;
});
Markdown 格式