os.open, os.seek, os.write Golang

Только начинаю осваивать Golang, так что прошу прощения за может быть глупый вопрос. Есть простая функция на python:

def write_block_to(datablock, block, fname):
    path = '/ida/'+fname
    fd = open(path, 'ab+')
    fd.seek(block,1)
    b = datablock
    fd.write(b)
    fd.close()

Как это просто реализовать на Go? Голову уже сломал.

func Write_Block_to(read_buf []byte, block int64, fname string){
path := "/ida/"+fname
f, e := os.OpenFile(path,  os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if e != nil {
    panic(e)
}
defer f.Close()
_, err := f.Seek(block, 1)
if err != nil {
    panic(err)
}
w := bufio.NewWriter(f)
fmt.Println(string(read_buf))
if _, err := w.Write(read_buf); err != nil {
    panic(err)
}

) тут тоже не до конца понял, все ли верно пишу?


Ответы (0 шт):