0
私はいくつかのCコードをGoに書き直しています。Goで関数にスライスを送る方法は?
static void sharedb(unsigned char *sharedkey, unsigned char *send,
const unsigned char *received) {
unsigned char krq[96];
unsigned char buf[64];
// rest removed for brevity
indcpa_enc(send, buf, received, krq + 32);
}
indcpa_enc
関数は次のように定義されています:
static void indcpa_enc(unsigned char *c,
const unsigned char *m,
const unsigned char *pk,
const unsigned char *coins)
ので、代わりにchar
アレイを使用しての私の囲碁のコードで私はbyte
配列を使用し、私のCコードで私はこのようなものを持っています。
func SharedB(sharedKey, send, received []byte) {
var krq [96]byte
var buf [64]byte
// rest removed for brevity
INDCPAEnc(send[:], buf[:SharedKeyBytes], received[:], krq[32:32+CoinBytes])
}
がINDCPAEnc
関数は次のように定義されています:私はこのような何か持ってどこ
func INDCPAEnc(c []byte, m [SharedKeyBytes]byte, pk []byte, coins [CoinBytes]byte)
もののを、移動中にこの関数呼び出しは私に型の不一致に関する配列を、提供します。上記のようなCコードを適切なGoコードに変換するにはどうすればよいですか?また、CのようにGo関数のパラメータにポインタの表記*
を使用する必要がありますか?