Duplicate argument
Знаем, че можем да дефинираме функции с именовани резултати и тези резултати са инициализирани със стойност по подразбиране за съответния тип.
Т.е. е в реда на нещата да имаме функцията
func foo(bar int) (fizz int) {
fizz += bar
return
}
fizz
е инициализирано със стойност 0.
Любопитното е, че имената на аргумент и резултат не могат да съвпадат, което означава, че тази функция:
func foo(bar int) (bar int) {
bar += 5
return
}
ще предизвика compile-time error: duplicate argument bar
.