Go Quick

2020-12-27  本文已影响0人  JunChow520
$ vim main.go
//创建包
package main
//导入包
import ("fmt")
//主函数
func main() {
    fmt.Println("hello world")
}

编译

go build

在当前项目根目录下执行编译命令go build,会在当前路径下生成可执行文件。

$ go build main.go

使用以GOPATH为基础的编译路径

$ go build 

编译时可通过go build -o自定义可执行文件名称

$ go build -o entry.exe

go build生成的可执行文件是当前操作系统可执行的文件,若希望在Windows平台下编译Linux下可执行文件,需要怎么做呢?

只需要指定目标操作系统的平台和处理器架构即可

$ go env
set CGO_ENABLED=1
set GOOS=windows
set GOHOSTARCH=amd64
环境变量 配置值 描述
CGP_ENABLED 0 禁用CGO
GOOS linux 目标平台
GOARCH amd64 目标处理器架构

例如:编译成Linux平台下的二进制可执行文件

$ SET CGO_ENABLED = 0
$ SET GOOS = linux
$ SET GOARCH = amd64

再次运行go build命令可得到能够在Linux平台运行的可执行文静

go install

go install命令会在当前目录下生成可执行的二进制文件,然后将二进制文件拷贝到GOPATH/bin目录下。

go run

go run命令会像执行脚本文件一样执行Go代码

交叉编译

Golang支持跨平台编译,比如在Windows平台编译一个能在Linux平台执行的文件。

创建包

Go以包作为管理工具,每个Go源代码必须声明所属包。

package main

package是声明包名的关键字,其后跟包名。

Go的包与文件夹是一一对应的

导入包

包声明后可使用import语句导入程序中所以来的包,导入的包名使用"双引号包裹。

import ("fmt")

当前包中导入fmt包,告知编译器需要使用fmt包中的函数或变量等。

Go语言标准内提供用于格式化输入输出的内容,类似于C语言中的stdio.h头文件。

导入的包中不能含有代码中没有使用的包,否则编译器会报出编译错误import and not used

使用import关键字引入多个包时,import使用()小括号名包裹,每个包名独占一行。

入口函数

func main() {
    fmt.Println("hello world")
}

函数定义格式

func 函数名 (参数列表) (返回值类型列表){
  函数体
}
fmt.Println("hello world")
上一篇 下一篇

猜你喜欢

热点阅读