jeudi 10 janvier 2019

How to get a function's signature as string in go

I'm implementing a go module that loads go plugins.

I'm assuming a function with a certain name and a certain signature exists on the main package, and would like to have a nice error message in case it is not found or not matching the expected signature.

Given a variable with a function type, how can one get the underlying signature of that function?

The following only prints the type's name (e.g. main.ModuleInitFunc) and not the full signature.

package main

import "fmt"

type ModuleInitFunc func(someInt int) error

func main() {
    var myFunc ModuleInitFunc = nil

    fmt.Printf("%T", lol)
}





Aucun commentaire:

Enregistrer un commentaire