I don’t understand your notation and hence what you’re asking for. Can you be more concrete? Generally speaking, function types are just types and you declare functions to accept them like any other type.

If you are asking if you can express something like haskells map :: (a -> b) -> [a] -> [b], then no, you can’t.

There are no typevariables or generics or similar in Go.

There are some language constructs (like append) which appear to be functions with a generic type (append([]Type, Type...) but those are not functions, that are part of the language and treated in a special way.

I’ll try to be more clear.
Suppose I define a type

type kind func(int) bool

defining instances of this type is easy. Next I define

type monadicOperator func(kind) kind

So far so good.

But next I wish to define instances of the type monadicOperator, for example a function non that takes the kind p into its complement kind non( p ), so that

I extended my example to show, that you can pass non(is_zero) through non again, to get the original function back (in this case at least): https://play.golang.org/p/Pq0Th9RmakM