编写Linux下第一个Go程序(2024版)

编写Linux下第一个Go程序(2024版)

安装

首先是安装GO语言包,预备要安装的是go version go1.22.4 linux/amd64,

移步至https://golang.google.cn/dl/ ,选择go1.22.4.linux-amd64.tar.gz 下载

  1. Remove any previous Go installation by deleting the /usr/local/go folder (if it exists), then extract the archive you just downloaded into /usr/local, creating a fresh Go tree in /usr/local/go:
sh 复制代码
 rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz

(You may need to run the command as root or through sudo).

Do not untar the archive into an existing /usr/local/go tree. This is known to produce broken Go installations.

  1. Add /usr/local/go/bin to the PATH environment variable.
    You can do this by adding the following line to your $HOME/.profile or /etc/profile (for a system-wide installation):
sh 复制代码
export PATH=$PATH:/usr/local/go/bin

Note: Changes made to a profile file may not apply until the next time you log into your computer. To apply the changes immediately, just run the shell commands directly or execute them from the profile using a command such as source $HOME/.profile.

  1. Verify that you've installed Go by opening a command prompt and typing the following command:
sh 复制代码
$ go version

Confirm that the command prints the installed version of Go.

编写HelloWorld程序

  1. 建立hello目录
sh 复制代码
mkdir hello
cd hello
  1. 使能依赖跟踪 Enable dependency tracking for your code
sh 复制代码
$ go mod init example/hello
go: creating new go.mod: module example/hello

在实际开发中,模块路径通常是存储库 源代码的保存位置。例如,模块路径可能是 。如果您计划发布 您的模块供其他人使用,模块路径必须是 Go 工具可以从中下载模块的位置。有关的更多信息 使用模块路径命名模块,请参阅管理依赖项

  1. 编写hello.go
go 复制代码
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}
  1. 运行
sh 复制代码
$ go run .
Hello, World!

go run 命令是用于完成工作的众多命令之一。使用以下命令获取其他命令的列表:

复制代码
$ go help
  1. 调用外部包中的代码
    访问 pkg.go.dev 并搜索 "quote" 包.忽略版本号 rsc.io/quotersc.io/quote/v3
    包名为:rsc.io/quote

You can use the pkg.go.dev site to find published modules whose packages have functions you can use in your own code. Packages are published in modules -- like -- where others can use them. Modules are improved with new versions over time, and you can upgrade your code to use the improved versions. rsc.io/quote

  1. In your Go code, import the package and add a call to its function. rsc.io/quoteGo
    After adding the highlighted lines, your code should include the following:
go 复制代码
package main

import "fmt"

import "rsc.io/quote"

func main() {
    fmt.Println(quote.Go())
}
  1. 添加新模块的requirements and sums.
sh 复制代码
cps@linx:~/hello$ go mod tidy
go: finding module for package rsc.io/quote
go: found rsc.io/quote in rsc.io/quote v1.5.2
  1. 运行新模块
go 复制代码
$ go run .

Don't communicate by sharing memory, share memory by communicating.

相关推荐
szxinmai主板定制专家6 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
超级架构师6 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮6 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
ynchyong6 小时前
Linux 有两个 “版本“
linux·发行版·内核版本
叼烟扛炮7 小时前
Linux 学习笔记(四十四):HTTP 协议解析与极简 Web 服务器实战
linux·服务器·学习
叼烟扛炮7 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
Decay__7 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
久曲健的测试窝7 小时前
2026软件测试工具选型指南:双模式如何化解UI脚本维护难题
运维·人工智能·科技·aigc
Escalating_xu7 小时前
【Linux 网络编程】DNS 与 ICMP:从域名解析到 ping、traceroute,把“网络通不通”问清楚
linux·网络·php
NailiConveyor9 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯