2021-11-01から1ヶ月間の記事一覧

parallelとcurlでjsonをPOSTする

APIを複数処理する必要が出てきて、parallelやxargsを使う方法が思いついた. ただcurlでjsonをpostする場合、-dオプションをつけてbodyを指定する。 そのbody中のjsonを表現する',"の扱いが分からなかったため備忘録として残す. $ cat id_list 123 456 789 c…

Cのポインター型のサイズをgolangで取得する

TL;DR 0をuintptrにキャストして使用する unsafe.Sizeof(uintptr(0)) mallocに渡す ptr := (**C.char)(C.malloc(C.size_t(unsafe.Sizeof(uintptr(0))))) モチベーション cgoでコードを書いていて、ポインターのサイズ分、マロックしたい。 公式 cgoによると…

cgoでvoid **(ダブルポインター)を使う

TL;DR; void **はどうやって表現する? *unsafe.Pointer . void *は? unsafe.Pointer . example var u8v **C.uint8_t var doubleVoidPointer *unsafe.Pointer u8v = (**C.uint8_t)(C.malloc(size)) doubleVoidPointer = (*unsafe.Pointer)(unsafe.Pointer(u8v…

unsafe 翻訳

pkg.go.dev Ver1.17 概要 unsafeパッケージには、Goプログラムの型安全性を回避する操作が含まれています。 unsafeをインポートしたパッケージは移植不可能な場合があり、Go 1の互換性ガイドラインでは保護されません。 関数 型 type Pointer type Pointer *…