package main //#include import "C" import "unsafe" func main() { buf := NewMyBuffer(1024) copy(buf.Data(), []byte("hello\x00")) C.puts((*C.char)(unsafe.Pointer(&(buf.Data()[0])))) }