GO语言学习笔记(三)初写GO程序

栏目: Go · 发布时间: 5年前

内容简介:一、第一个程序名称:helloworld.go运行helloworld.go

一、第一个程序

名称:helloworld.go

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

知识点1:Go语言的代码文件一般是以.go作为后缀。

运行helloworld.go

执行:go run helloworld.go

输出结果:hello world!

知识点2:使用run参数的意思是编译并运行。

编译成二进制文件

执行: go build -o helloworld helloworld.go

执行:ls查看

helloworld helloworld.go

在当前目录下会产生一个helloworld的二进制文件,我们可以直接运行这个二进制文件

执行二进制文件:./helloworld

执行结果:hello world!

分析这段 GO 语言代码:

1) package main:这一行是申明包名,所有Go语言编写的文件都是以“package xxxx”开头,对于独立运行的执行文件,第一行必须是“package main”

2)import "fmt":表示导入“fmt”包,“fmt”包是Go语言标准库中的包,所以不需要下载和安装。“fmt”包的作用是用于字符串的格式化输出。另外被引用的其他package被称为库或者称为包

3)func main() {} :这一行是程序中的main主函数,也成为入口函数。Go程序在执行的时候,首先调用的函数就是main函数,大部分的语言都是以main作为逻辑上的入口函数,比如:c、 python 等。另外在Go语言中,函数都是使用func关键字来定义函数名称

4)fmt.Println("hello world!") :这一行是调用fmt包的函数,把hello world字符串输出到控制台。字符串由双引号包裹、表示是字符串类型

二、交叉编译

什么是交叉编译:

就是在一个平台上可以编译另一个平台的二进制代码文件。例如,我们使用的是Mac系统,在Mac上可以编译出可在 Linux 或者windwos系统上运行的可执行程序。

不同系统平台的对比图:

GO语言学习笔记(三)初写GO程序

交叉编译示例:(在mac系统上生成linux64位的可执行程序)

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build helloword.go

解释:CGO_ENABLED:指明cgo工具是否可用的标识,1位启用cgo工具,0是关闭,交叉编译不支持cgo工具

GOOS:指定目标操作系统

GOARCH:执行目标操作系统的架构,也就是是多少位的操作系统

这样生成的helloworld二进制包就可以拷贝到linux上运行了。

列举不同平台的交叉编译:

1)在Mac上编译LInux和Window 64位可执行程序

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build helloword.go

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build helloword.go

2)Linux上编译Mac和Windows 64位可执行程序

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build helloword.go

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build helloword.go

3)Windows上编译Mac和Linux 64位可执行程序

SET CGO_ENABLED=0

SET GOOS=darwin

SET GOARCH=amd64

go build helloword.go

SET CGO_ENABLED=0

SET GOOS=linux

SET GOARCH=amd64

go build helloword.go


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP for the World Wide Web, Second Edition (Visual QuickStart Gu

PHP for the World Wide Web, Second Edition (Visual QuickStart Gu

Larry Ullman / Peachpit Press / 2004-02-02 / USD 29.99

So you know HTML, even JavaScript, but the idea of learning an actual programming language like PHP terrifies you? Well, stop quaking and get going with this easy task-based guide! Aimed at beginning ......一起来看看 《PHP for the World Wide Web, Second Edition (Visual QuickStart Gu》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具