實(shí)現(xiàn)思想
go定義一個(gè)接口
java這邊實(shí)現(xiàn)這個(gè)接口
java這邊把實(shí)現(xiàn)類傳入 go 內(nèi)部
type MMKVListener interface {
GetString(key, def string) string
SetString(key, value string)
}
var javaListener MMKVListener // 保存Java監(jiān)聽器
func SetJavaListener(listener MMKVListener) {
javaListener = listener
//通過listener來調(diào)用Java那邊的方法
}
func SendValueToJava(key, value string) {
if javaListener != nil {
javaListener.SetString(key, value)
}
}
func GetValueToJava(key, def string) string {
if javaListener != nil {
return javaListener.GetString(key, def)
}
return def
}
func Test() {
SendValueToJava("key", "我來自GOlang")
data := GetValueToJava("key", "默認(rèn)值")
logD("GO內(nèi)部打印", data)
}