4utka_pyan
@4utka_pyan

Как правильно делать конкатерацию строк в golang?

Видел похожий вопрос на анг стаке но попытка реализовать его привела к ошибке:
miltiple-value buffer.WriteString() in single-value context
Код был такой
package main
import (
	"fmt"
	"bytes"
)
func main() {
	var x []string
	letter := [3]string{"a","б","в"}
	
    for i := 0; i < len(letter); i++ {
		var buffer bytes.Buffer
		x = append(x, buffer.WriteString(letter[i]))
    }
	fmt.Println(x)
}

Тогда использовал пример с сайта gobyexample https://play.golang.org/p/l4b7MPT4u6
package main
import "strings"
import "fmt"
func main() {
	var x []string
	letter := [3]string{"a","б","в"}
	
    for i := 0; i < len(letter); i++ {
		var z string = ""
		x = append(x, z.Join([]string{"a", "b"}, "-"))
    }
	fmt.Println(x)
}

Тут вообще не понятно, во-первых он говорит что я импортирую но не использую пакет strings
Во-вторых z.Join undefined (type string has no field or method Join) или он не видит метод потому что у меня go версии 1.6? Хотя в доках https://golang.org/pkg/strings/#Join не написано ничего про то с какой версии он начинается...
  • Вопрос задан
  • 610 просмотров
Решения вопроса 1
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Вы же не вызываете strings.Join(), правильный вариант:
func main() {
  var x []string
  letter := [3]string{"a","б","в"}
  
    for i := 0; i < len(letter); i++ {
    x = append(x, strings.Join([]string{"a", "b"}, "-"))
    }
  fmt.Println(x)
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы