Почему эта программа не компилируется?
func main() {
fruit := []string{
"apple",
"banana",
"cherry"
}
fmt.Println(fruit)
}
../main.go:5:11: syntax error: unexpected newline, expecting comma or }
Ответ
В многострочном срезе, массиве или литерале карты каждая строка должна заканчиваться запятой.
func main() {
fruit := []string{
"apple",
"banana",
"cherry", // добавлена запятая
}
fmt.Println(fruit) // "[apple banana cherry]"
}
Такое поведение является следствием правил вставки точек с запятой в Go.
В результате вы можете добавлять и удалять строки без изменения окружающего кода.
Читайте также:
- Массивы, срезы и строки: механика работы append в Golang
- Срезы в Golang: внутреннее устройство и использование
- Эффективный Go: срезы (slices)
Комментариев нет:
Отправить комментарий