- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- РњРѕР№ Р В Р’В Р РЋРЎв„ўР В Р’В Р РЋРІР‚ВВВВВВВВРЎР‚
- Viber
- Skype
- Telegram
Golang задача на функции
Подскажите какие из вариантов ответов правильно определяют функции в Go.B и F не проходит тест
A: func A{}
B: func _B(a int, b int) {}
C: func C(a, b string) int, int {}
D: func D() int32 { var i = 1 return i }
E: func E(_, _ int) { return 1 }
F: func F() F { return F }
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Я, конечно, только начинающий гошник, но анализ этого кода на go.dev/play говорит нам, что:
Вариант | Функция | Анализ |
---|---|---|
A | func A{} |
Не хватает скобок после имени функции |
B | func _B(a int, b int) {} |
Выглядит ОК |
C | func C(a, b string) int, int {} |
Возвращается кортеж, нужны скобки (int, int) , кроме того, в теле функции нет собственно return этого кортежа |
D | func D() int32 { var i = 1 return i } |
Нет ; между заданием переменной и return . Кроме того, компилятор ругается, что i имеет тип int , а возвращаемый тип int32 указан, нужно явное приведение типов |
E | func E(_, _ int) { return 1 } |
По описанию функция ничего не возвращает, при этом есть return значения |
F | func F() F { return F } |
Онлайн Golang ругается, что F - это не тип, его нельзя указывать, как возвращаемый тип |
Возможно, где-то я не прав, опытные гошники надеюсь поправят если что.