Для new(map[K]V) результат — указатель на nil-map: len(*p) равен нулю, а len(p) не компилируется. Для make(map[K]V) длина новой пустой map тоже равна нулю.
[имя] спросил: вернёт ли len для new map значение 0?
Для new(map[K]V) результат — указатель на nil-map: len(*p) равен нулю, а len(p) не компилируется. Для make(map[K]V) длина новой пустой map тоже равна нулю.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для new(map[K]V) результат — указатель на nil-map: len(*p) равен нулю, а len(p) не компилируется. Для make(map[K]V) длина новой пустой map тоже равна нулю.
New выделяет нулевое значение, но не инициализирует map для записи. Нужно присвоить *p = make(map[K]V), либо сразу использовать make без лишнего указателя. Поэтому ответ зависит от того, что в вопросе называется «new map».