最後の int が返り値の型なのは分かりますが、その前の func(int) が分かりません。
int
func(int)
func adder() func(int) int { ... }
であれば、adder()の返す型はfunc(int) int、つまり関数(クロージャ)です。最後のintはadderではなく帰ってくるその関数の返す型となるわけです。
adder()
func(int) int
adder
https://tour.golang.org/moretypes/25