Это просто означает, что функция возвращает функцию, которая не принимает параметров и возвращает целое число.Это то, о чем говорит часть вашей подписи
... func() int
.
Ошибка, которую вы получаете, заключается в том, что вы не можете напечатать функцию fmt.Println.Чтобы показать это, вы можете увидеть, что вы получаете ту же ошибку при вызове,
func main() {
fmt.Println(foo)
}
func foo() int {
return 1
}
Возможно, было бы яснее увидеть, что происходит, если вы вызываете свою функцию следующим образом.
func main() {
myIncrementer := incrementer()
fmt.Println(myIncrementer()) // Prints 1
}
Где вы создаете инкремент, который является функцией, затем вызываете функцию, которая возвращает 1.