美文网首页
Hello World

Hello World

作者: aleshaw | 来源:发表于2022-04-06 12:07 被阅读0次

    现在我们来创建第一个Go项目——hello。在我们桌面创建一个hello目录。

    go mod init

    使用go module模式新建项目时,我们需要通过go mod init 项目名命令对项目进行初始化,该命令会在项目根目录下生成go.mod文件。例如,我们使用hello作为我们第一个Go项目的名称,执行如下命令。

    go mod init hello
    

    编写代码

    接下来在该目录中创建一个main.go文件:

    package main  // 声明 main 包,表明当前是一个可执行程序
    
    import "fmt"  // 导入内置 fmt 包
    
    func main(){  // main函数,是程序执行的入口
        fmt.Println("Hello World!")  // 在终端打印 Hello World!
    }
    

    非常重要!!! 如果此时VS Code右下角弹出提示让你安装插件,务必点 install all 进行安装。

    编译

    go build命令表示将源代码编译成可执行文件。

    在hello目录下执行:

    go build
    

    或者在其他目录执行以下命令:

    go build hello
    

    go编译器会去 GOPATH的src目录下查找你要编译的hello项目

    编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是windows平台会在当前目录下找到hello.exe可执行文件。

    可在终端直接执行该hello.exe文件:

    c:\desktop\hello>hello.exe
    Hello World!
    

    我们还可以使用-o参数来指定编译后得到的可执行文件的名字。

    go build -o heiheihei.exe
    

    go run

    go run main.go也可以执行程序,该命令本质上也是先编译再执行。

    go install

    go install表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到GOPATH的bin目录下。因为我们的环境变量中配置了GOPATH下的bin目录,所以我们就可以在任意地方直接执行可执行文件了。

    跨平台编译

    默认我们go build的可执行文件都是当前操作系统可执行的文件,Go语言支持跨平台编译——在当前平台(例如Windows)下编译其他平台(例如Linux)的可执行文件。

    Windows编译Linux可执行文件
    如果我想在Windows下编译一个Linux下可执行文件,那需要怎么做呢?只需要在编译时指定目标操作系统的平台和处理器架构即可。

    注意:无论你在Windows电脑上使用VsCode编辑器还是Goland编辑器,都要注意你使用的终端类型,因为不同的终端下命令不一样!!!目前的Windows通常默认使用的是PowerShell终端。

    如果你的Windows使用的是cmd,那么按如下方式指定环境变量。

    SET CGO_ENABLED=0  // 禁用CGO
    SET GOOS=linux  // 目标平台是linux
    SET GOARCH=amd64  // 目标处理器架构是amd64
    

    如果你的Windows使用的是PowerShell终端,那么设置环境变量的语法为

    $ENV:CGO_ENABLED=0
    $ENV:GOOS="linux"
    $ENV:GOARCH="amd64"
    

    在你的Windows终端下执行完上述命令后,再执行下面的命令,得到的就是能够在Linux平台运行的可执行文件了。

    go build
    

    Windows编译Mac可执行文件

    Windows下编译Mac平台64位可执行程序:

    cmd终端下执行:

    SET CGO_ENABLED=0
    SET GOOS=darwin
    SET GOARCH=amd64
    go build
    

    PowerShell终端下执行:

    $ENV:CGO_ENABLED=0
    $ENV:GOOS="darwin"
    $ENV:GOARCH="amd64"
    go build
    

    Mac编译Linux可执行文件

    Mac电脑编译得到Linux平台64位可执行程序:

    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
    

    Mac编译Windows可执行文件
    Mac电脑编译得到Windows平台64位可执行程序:

    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
    

    Linux编译Mac可执行文件
    Linux平台下编译Mac平台64位可执行程序:

    CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
    

    Linux编译Windows可执行文件
    Linux平台下编译Windows平台64位可执行程序:

    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
    

    相关文章

      网友评论

          本文标题:Hello World

          本文链接:https://www.haomeiwen.com/subject/zfwrjrtx.html