Как в Go lang присвоить переменной функцию в качестве значения

Чтобы присвоить переменной анонимную функцию и вызвать её по имени переменной в последующем нужно объявить переменную с типом функции:

var f func() (*MyStruct, error)

Затем нужно обернуть вызов существующей функции:

f = func() (*MyStruct, error) {return anotherFunc(id)}

После чего переменную можно использовать как функцию:

data, err := f()

Причём в данном случае значение id используется в замыкании, а не передаётся в неё напрямую.