github.com/maikovskiys/l1tasks@v0.0.0-20230927052451-6436d7687dc9/learn/dev01/main.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 /* 9 Какой самый эффективный способ конкатенации строк? 10 */ 11 func main() { 12 strings := []string{"This ", "is ", "string"} 13 14 b := concat2builder(strings) 15 fmt.Println(b) 16 } 17 18 // билдер не аллоцирует память под каждую строку 19 func concat2builder(str []string) string { 20 var builder strings.Builder 21 for _, v := range str { 22 builder.Grow(len(v)) // grow capacity 23 builder.WriteString(v) 24 } 25 return builder.String() 26 }