Здравствуйте, vsb, Вы писали:
vsb>У меня такое мировоззрение. Хотя я и Си не одобряю, но из доступного-популярного он ближе остальных к "идеалу". C и Go, в зависимости от уместности GC.
Go, однако, прекрасен тем, что прикидываясь языком высокого уровня, типа Питона, он взял, однако, из Си некоторые особенности, делающие жизнь интересной.
data := []byte("hello")
data = append(data, []byte(", world!")...)
hello := data
data = append(data, []byte(" Oo")...)
copy(data, []byte("12345"))
fmt.Printf("%s\n", hello)
Что в итоге напечатается, зависит от количества байтов, которые добавляются в 4-й строке.
Для сишника это очевидно, а как это понимают люди, не умеющие в Си, ума не приложу...
Ну и не будем забывать, что bytes.Buffer.Bytes() возвращает "указатель" (вернее, слайс) на внутренний буфер...