package main import ( "fmt" "log" "myjob/libs/foo" "os/exec" "dario.cat/mergo" ) var ( GlobalVar = "bar" ) func init() { log.Println("main init") } type Foo struct { A *string B int64 } func main() { log.Println("Hello from main") fmt.Println(foo.Bar("Kung")) GlobalVar = foo.Bar("Kung") cmd := exec.Command("whoami") log.Println("starting cmd...") out, err := cmd.CombinedOutput() if err != nil { log.Println(err) } fmt.Print(string(out)) first := "first" second := "second" src := Foo{ A: &first, B: 2, } dest := Foo{ A: &second, B: 1, } mergo.Merge(&dest, src, mergo.WithOverride, mergo.WithoutDereference) log.Println(dest) } func Test() { }