GO -- 初体验

一、体验GO

1、在项目目录下创建main.go文件

在这里插入图片描述

package main

import "fmt"

func main() {
	fmt.print('Hello World!')
}

2、进行编译

  • 右键点击"在终端中打开",然后使用“go build”命令进行编译

  • 选择命令格式为cmd(默认是powershell,很不好用)在这里插入图片描述

  • 设置cmd为默认终端格式
    在这里插入图片描述
    在这里插入图片描述

  • 注意1:执行 go build命令,要看清路径,最好到main.go的上级目录中执行。否则会报错:‘package .: no Go files in E:\GoProject\src’

  • 注意2:一定要将入口文件main.go保存后(Ctrl+s)再编译,否则会报错‘main.go:1:1: expected ‘package’, found ‘EOF’’

  • 执行完成后,会生成一个.exe的可执行文件

  • 此时,发现一个问题,我们生成的exe执行文件和main.go不在一个路径下(并不影响可执行文件的执行),原因是vs code的目录输出格式有问题,将目录整行输出换成树状输出

    • 在"文件"中“首选项”中点击“设置” ,在搜索框中搜索“fold”,然后找到“Explorer: Compact Folders
      ”,将这个选项的√去掉
      在这里插入图片描述
      在这里插入图片描述
  • 执行 helloWorld.exe 可执行文件,直接输出结果(注意:360安全卫士可能会将这个文件当成病毒,建议关闭360)
    在这里插入图片描述

  • 直接使用go build,默认会以项目的名称来命名执行文件(即<项目名称>.exe),如果要自定义文件名称,需要加上-o参数指定文件名称在这里插入图片描述

3、其他常用命令

1、go run命令

  • 可以直接执行代码文件,类似于shell的sh(不会生成.exe的执行文件)()

2、go install命令

  • 相当于先执行go build命令进行编译,然后将生成的.exe文件发送到bin目录下(bin目录之前加入了环境变量,在任何地方都可以执行这个命令)
    在这里插入图片描述
  • 到cmd终端执行helloWorld命令测试
    在这里插入图片描述

二、GO的跨平台编译

  • GO支持编译成不同系统的可执行文件(例如我们代码是在windows机器上写的,但是编译后的可执行文件需要跑在Linux机器上)具体该怎么做呢

  • 只需要指定目标操作系统的平台和处理器架构即可,然后再执行go build命令,得到的就是能够在Linux平台运行的可执行文件了。

1、Windows平台cmd下按如下方式指定环境变量。

  • 注意1:如果你使用的是PowerShell终端,那么设置环境变量的语法为$ENV:CGO_ENABLED=0。
  • 注意2:SET GOOS=linux 后面一定不要有空格,否则执行go build时会报错“cmd/go: unsupported GOOS/GOARCH pair linux /amd64”
SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64

在这里插入图片描述

  • 将文件上传Linux机器上运行
    在这里插入图片描述

2、Mac 下编译 Linux 和 Windows平台 64位 可执行程序

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

3、Linux 下编译 Mac 和 Windows 平台64位可执行程序

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

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

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值