gopy icon indicating copy to clipboard operation
gopy copied to clipboard

[]byte Parameter Results in Unexpected Integer Type

Open krypton-byte opened this issue 1 year ago • 1 comments

I am facing an issue with Golang-to-Python interoperability. Specifically, when I call a Python function from Golang and pass a []byte data as a parameter, the Python function unexpectedly receives an integer instead of the intended MengByte/bytes object.

Code:

test.go

package hujan

type MengByte []byte
type Fungsi func(MengByte)

func Test(fun Fungsi) {
    fun(MengByte{255, 211, 21, 23, 0, 1, 2, 3, 82, 2, 33})
}

test.py

from out.hujan import Test, MengByte

def fun(arg: MengByte):
    print('arg: ', type(arg))
    return arg

Test(fun)

I would appreciate assistance in resolving this issue and ensuring that the Python function correctly receives the MengByte/bytes object.

krypton-byte avatar Dec 31 '23 02:12 krypton-byte

I have the same issue. There are some examples in here, where Python functions are called from Go with arguments. Whenever I try to pass a struct or a map[string]string, Python would receive 1 as argument.

I "worked around" this by passing a string from Go, but it would be nice to learn how to reference Go types in Python.

pratclot avatar Jun 06 '24 16:06 pratclot