GO环境配置

1、linux配置环境

bash 复制代码
sudo yum install golang -y

查看是否安装成功

go version

2、运行go程序

在Linux上编译和运行Go程序主要包括环境安装、代码编写、编译执行几个步骤。下面是一个清晰的指南。

创建一个目录存放你的Go代码,然后编写一个简单的程序。

  1. 创建项目目录:

    复制代码
    mkdir ~/myproject
    cd ~/myproject
  2. 初始化Go模块(推荐):使用Go Modules管理依赖。

    复制代码
    go mod init myproject
  3. 编写代码 :创建 hello.go文件,输入以下内容:

    复制代码
    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, Linux!")
    }

🚀 编译与执行

有几种方式可以运行Go程序。

  • 直接运行 :使用 go run命令,它编译源码并立即执行,不生成可执行文件,适合快速测试。

    复制代码
    go run hello.go
  • 编译后运行 :使用 go build命令编译源码,生成可执行文件。

    bash 复制代码
    go build hello.go

    执行后会生成名为 hello的可执行文件,直接运行即可。

    复制代码
    ./hello

    使用 -o选项可以指定输出文件名:

    复制代码
    go build -o myapp hello.go

🌍 交叉编译

Go支持交叉编译,可以在Linux上编译出其他操作系统(如Windows、macOS)的可执行文件。通过设置 GOOS和 GOARCH环境变量指定目标操作系统和架构。

  • 编译Windows可执行文件:

    复制代码
    GOOS=windows GOARCH=amd64 go build -o hello.exe hello.go
  • 编译macOS可执行文件:

    复制代码
    GOOS=darwin GOARCH=amd64 go build -o hello_mac hello.go

💡 实用工具与技巧

  • 格式化代码 :使用 go fmt命令可以自动格式化Go代码,保持风格统一。

    复制代码
    go fmt hello.go
  • 管理依赖 :在项目目录下使用 go mod tidy整理并下载所需依赖。

  • 运行测试 :Go内置测试框架,使用 go test命令运行项目中的测试用例。

⚠️ 常见问题

  • go: command not found :通常是因为Go未正确安装或环境变量未正确设置。请检查Go是否安装以及 PATH是否包含Go的bin目录。

  • 权限问题:如果无法运行生成的可执行文件,可以尝试赋予其执行权限:

    复制代码
    chmod +x hello

希望这份指南能帮助你在Linux上顺利开始Go语言编程!如果你在具体操作中遇到其他问题,随时可以再问我。

相关推荐
Escalating_xu6 分钟前
【Linux 网络编程】应用层协议 HTTP(下):Header、连接管理与 C++ HTTP 服务器
linux·服务器·网络
RacentCLM11 分钟前
证书即服务CaaS:从申请、续期到部署的自动化链路拆解
运维·数据库·自动化·ssl
注塑机数据采集联网1 小时前
注塑机生产管控MES系统应用
大数据·运维·服务器·人工智能·物联网
海宇服务1 小时前
零信任架构实战:基于海宇全国车辆配置查验构建自动化二手商用车出厂参数建档网关
运维·人工智能·架构·自动化·1024程序员节
GeW2 小时前
新质生产力路线图落地,Linux运维与数据库架构师的机会清单
linux
Brilliantwxx3 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
见闻小天地3 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能
father_12273 小时前
Greenplum 集群故障恢复与主备同步机制实战
linux·网络·greenplum
csdn_aspnet3 小时前
Docker Prune:完整指南与上手示例
运维·docker·容器·prune
ynchyong4 小时前
linux中的 sed` 与 `seq`
linux·运维·sed·seq·文本工具