golang luaの使い方

(*-*)浩
リリース: 2019-12-13 13:30:05
オリジナル
3601 人が閲覧しました

golang luaの使い方

github には、gopher-lua という golang で書かれた Lua 仮想マシンがあります。

lua のデータ型と golang のデータ型の対応関係はドキュメントで説明されていますが、型が L で始まり、型の名前が LT で始まることに注意してください。 。 (推奨学習: go)

golang のデータを lua のデータに変換するには、L で始まる型に変換する必要があります:

str := "hello"
num := 10
L.LString(str)
L.LNumber(float64(num))
ログイン後にコピー

lua のデータは次のとおりです。 golang のデータについては、ToInt や CheckString などの変換関数がプロジェクトで提供されていますが、事前に型が分かっている必要があります。分からない場合は型判定を行う必要があります。ここでは gopher -luar を使用して型変換を容易にします。

golang と lua は相互に関数を呼び出します

golang の関数は func(L *lua.State に変換する必要があります) ) int this この形式は lua に注入できます。戻りパラメータの int は戻りパラメータの数を表します。

value := L.Get(1)
switch value.Type() {
case lua.LTString:
case lua.LTTable:
....
}
ログイン後にコピー

golang で lua 関数を呼び出すには、最初に lua スクリプトでこの関数を定義する必要があります次に、CallByParam を呼び出します:

func hello(L *lua.State) int {
     //将返回参数压入栈中
     L.Push(lua.LString("hello"))
     //返回参数为1个
     return 1
}
//注入lua中
L.SetGlobal("hello", L.NewFunction(hello))
ログイン後にコピー

以上がgolang luaの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!