base, err := ioutil.ReadFile("base.txt") if err != nil { log.Fatal(err) } io.WriteString(base, "it works!") 

Error: cannot use base (type []byte) as type io.Writer in argument to io.WriteString: []byte does not implement io.Writer (missing Write method)

  • one
    And what is the actual question? The byte slice does not really have a Write method. Explain what result you want to get? - kvark128
  • I want to write to the file line - Dmitry

1 answer 1

Your code

 // открыть файл для чтения и скопировать его содержимое в слайс // присвоить адрес слайса вашей переменной base base, err := ioutil.ReadFile("base.txt") if err != nil { log.Fatal(err) } // ошибка: вы пытаететь записать строку в слайс io.WriteString(base, "it works!") 

What would you like

 package main import ( "io" "log" "os" ) func main() { // открываем или создаем файл для чтения и записи // возвращаем указатель на структуру *os.File и присваиваем base его значение base, err := os.OpenFile("base.txt", os.O_CREATE|os.O_RDWR, 0600) if err != nil { log.Fatal(err) } defer base.Close() // base удовлетворяет интерфейс io.Writer что позволяет // io.WriteString использовать base для записи _, err = io.WriteString(base, "it works!") if err != nil { log.Fatal(err) } }