Чтобы присвоить переменной анонимную функцию и вызвать её по имени переменной в последующем нужно объявить переменную с типом функции:
var f func() (*MyStruct, error)
Затем нужно обернуть вызов существующей функции:
f = func() (*MyStruct, error) {return anotherFunc(id)}
После чего переменную можно использовать как функцию:
data, err := f()
Причём в данном случае значение id используется в замыкании, а не передаётся в неё напрямую.