Какой вывод получит программа при печати строкового среза из 10 элементов

fmt.Println покажет квадратные скобки с девятью пробелами: срез содержит десять пустых строк, которые печатаются без кавычек.

Короткий ответ

Что ответить на собеседовании

fmt.Println покажет квадратные скобки с девятью пробелами: срез содержит десять пустых строк, которые печатаются без кавычек.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какое значение будет отображено, когда в Go‑программе создаётся срез строк из десяти элементов и выводится при помощи fmt.Println.

package main

import "fmt"

func main() {
    s := make([]string, 10)
    fmt.Println(s)
}

Ответ

fmt.Println покажет квадратные скобки с девятью пробелами: срез содержит десять пустых строк, которые печатаются без кавычек.

make([]string, 10) задаёт длину 10 и заполняет элементы нулевыми значениями string, то есть "". Пробелы между элементами вставляет fmt.

Для наглядности используйте fmt.Printf("%q\n", s): тогда будут видны десять пустых строк в кавычках. Это отличается от make([]string, 0, 10), где длина нулевая и обычный вывод равен [], несмотря на такую же зарезервированную вместимость.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее