What is your use case? What do you want to automate with your code? Do you need to reload configuration if one of the files changed? Have you looked at this documentation? https://www.elastic.co/guide/en/beats/filebeat/current/_live_reloading.html
Filebeat is not intended to be used this way. If you really need to start and stop Filebeat from Golang I suggest you the exec
package to start and stop: https://golang.org/pkg/os/exec/
Examples:
Starting Filebeat
cmd := exec.Command("./filebeat")
err := cmd.Start()
if err != nil {
log.Errorf("Error while running Filebeat: %+v", err)
}
Stopping Filebeat
cmd.Process.Kill()