buildmode

go buildbuildmodego buildgo install

buildmode的值

buildmode参数主要作用用来让Go编译器构建出特定的对象文件,目前它支持以下特定值,每个值得含义如下。

    package main
     
    import "fmt"
     
    type gethw string
     
    func (g gethw) HelloWorld() {
     fmt.Println("hello world")
    }
     
    var GetHelloWorld gethw
    package main
     
    import (
     "fmt"
     "os"
     "plugin"
    )
     
    type GetHelloWorld interface {
     HelloWorld()
    }
     
    func main() {
     plug, err := plugin.Open("./test/helloworld.so")
     if err != nil {
        panic(err)
     }
     
     getplug, err := plug.Lookup("GetHelloWorld")
     if err != nil {
        panic(err)
     }
     
     var hw GetHelloWorld
     hw, ok := getplug.(GetHelloWorld)
     if !ok {
        fmt.Println(err)
        os.Exit(1)
     }
     
     hw.HelloWorld()
    }