Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gomobile绑定:不支持的基本类型:uint64_Go_Gomobile - Fatal编程技术网

Gomobile绑定:不支持的基本类型:uint64

Gomobile绑定:不支持的基本类型:uint64,go,gomobile,Go,Gomobile,文件上说它应该得到支持。 似乎它没有在gen.go文件中实现: case types.Uint8: // types.Byte return "uint8_t" // TODO(crawshaw): case types.Uint, types.Uint16, types.Uint32, types.Uint64: 我读到我需要修补go mobile以支持 但是在更改文件以支持Uint64之后,(go/src/golang.org/x/mobile/bind/gen.g

文件上说它应该得到支持。 似乎它没有在gen.go文件中实现:

case types.Uint8: // types.Byte
        return "uint8_t"
    // TODO(crawshaw): case types.Uint, types.Uint16, types.Uint32, types.Uint64:
我读到我需要修补go mobile以支持 但是在更改文件以支持Uint64之后,(go/src/golang.org/x/mobile/bind/gen.go) 重新初始化go mobile:gomobile初始化


同样的错误仍然出现,我是不是遗漏了一些明显的东西?

我认为这里的问题是Java没有未签名。因此,Java接口不能将uint64(和uint32 IIRC)文件类型作为全局变量、函数返回值或函数参数

您可以在Go mobile中使用uint64。

基于上述两种解决方案:

  • 将非法类型对Java的暴露限制到最低限度
  • 在Go中将uint64转换为int64,在Java中将long转换为BigInteger

  • 我认为这里的问题是Java没有未签名。因此,Java接口不能将uint64(和uint32 IIRC)文件类型作为全局变量、函数返回值或函数参数

    您可以在Go mobile中使用uint64。

    基于上述两种解决方案:

  • 将非法类型对Java的暴露限制到最低限度
  • 在Go中将uint64转换为int64,在Java中将long转换为BigInteger

  • 我通过修补Go mobile解决了这个问题,灵感来自这篇文章!我使用“补丁”非常松散,我不鼓励任何人使用此代码,因为它是非常特定于用途的

    我只是短路了
    默认值
    案例以返回
    uint64
    -您可以清楚地看到我在这里做了什么:

    我需要做一些其他的查找/替换更改,您可以在该分支上看到这些更改,以使其正确构建,并且我还必须修复我非常确定的是一个带有
    byte
    类型的Go-mobile bug。所有这些都可以在树枝上看到

    同样,关键的是,我必须完全
    去获取这个项目-进行更改并运行
    gomobile init
    是不够的


    不要使用此代码。请记住这个答案。

    我通过修补Go mobile解决了这个问题,灵感来自这篇文章!我使用“补丁”非常松散,我不鼓励任何人使用此代码,因为它是非常特定于用途的

    我只是短路了
    默认值
    案例以返回
    uint64
    -您可以清楚地看到我在这里做了什么:

    我需要做一些其他的查找/替换更改,您可以在该分支上看到这些更改,以使其正确构建,并且我还必须修复我非常确定的是一个带有
    byte
    类型的Go-mobile bug。所有这些都可以在树枝上看到

    同样,关键的是,我必须完全
    去获取这个项目-进行更改并运行
    gomobile init
    是不够的


    不要使用此代码。请标记此问题。

    您在哪里读到需要修补Go Mobile?你按照什么程序做的?请提供完整信息。您在哪里读到需要修补Go Mobile?你按照什么程序做的?请包括完整信息。嘿,我最终修补了这个,我更改了gen.go文件,我必须通过“go install…”重新编译。嘿,我最终修补了这个,我更改了gen.go文件,我必须通过“go install…”重新编译