跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) 聊天机器人(10) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) 编程语言(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

介绍


Go,通常被称为golang,是谷歌开发的一种开源编程语言。它采用极简主义的开发方法,可以轻松构建简单、可靠和高效的软件。本教程将指导您下载和安装 Go 1.7,以及编译和执行基本的“Hello, World!”。程序,在 CentOS 7 服务器上。

先决条件


在学习本教程之前,请确保您有一个具有 sudo 权限的常规非 root 用户。您可以从我们的指南 How To Create a Sudo User on CentOS 中了解有关如何设置具有这些权限的用户的更多信息。

第 1 步 – 下载 Go


截至 2016 年 9 月,CentOS 默认存储库中的 golang 软件包不是最新的。因此,我们将直接从 Go 网站手动下载包。确保复制与 64 位架构兼容的最新版本的链接。

首先进入一个可写目录:

cd /tmp


使用 curl 命令和 Go 中的链接下载 tarball:

curl -LO https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz


尽管 tarball 来自真实来源,但最好验证从 Internet 下载的项目的真实性和完整性。此验证方法可证明文件在下载过程中没有被篡改、损坏或损坏。带有 -a 256 标志的 shasum 命令产生一个唯一的 256 位散列:

shasum -a 256 go1.7*.tar.gz

Output
702ad90f705365227e902b42d91dd1a40e48ca7f67a2f4b2fd052aaa4295cd95  go1.7.linux-amd64.tar.gz


将输出中的哈希值与 Go 下载页面上的校验和值进行比较。如果它们匹配,则可以安全地断定下载是合法的。

下载 Go 并验证文件的完整性后,让我们继续安装。

第 2 步 – 安装 Go


Go 的安装包括将 tarball 解压缩到 /usr/local 目录中。使用带有 -C 标志的 tar 命令将内容保存到指定目录中。 -x 标志执行提取功能,-v 产生详细输出,-z 通过 gzip 压缩实用程序过滤存档,-f 告诉它指定的文件名以执行以下操作:

sudo tar -C /usr/local -xvzf go1.7.linux-amd64.tar.gz


注意:发布者官方建议将 Go 放在 /usr/local 目录中。将其安装在其他位置不会影响其可用性,但需要在 Go 环境变量 GOROOT 中定义自定义路径。下一步讨论使用环境变量。

接下来,在用户的主目录下,创建包含三个子目录 bin、src 和 pkg 的 Go 工作区。 bin 目录将包含从 src 目录中的人类可读源文件编译的可执行程序。尽管我们不会在本教程中使用 pkg 目录,但我们仍然建议设置它,因为它在创建更复杂的程序时很有用。 pkg 目录存储包对象,这是程序之间共享的可重用代码。

我们将调用我们的工作区目录项目,但您可以将其命名为任何您想要的名称。 mkdir 命令的 -p 标志将创建适当的目录树。

mkdir -p ~/projects/{bin,pkg,src}


此时,使用 Go 需要在命令行中指定其安装位置的完整路径。为了使与 Go 的交互更加用户友好,我们将设置一些路径。

第 3 步 – 为 Go 设置路径


要像执行任何其他命令一样执行 Go,我们需要将其安装位置附加到 $PATH 变量。 Go 安装在系统目录中,这就是我们将全局设置环境变量的原因。

使用 vi 编辑器在 /etc/profile.d 目录中创建 path.sh 脚本:

sudo vi /etc/profile.d/path.sh


将以下内容添加到文件中,保存并退出:

/etc/profile.d/path.sh

export PATH=$PATH:/usr/local/go/bin


警告:如果 Go 安装在不同的位置,则相应地调整路径。

此外,在用户的 .bash_profile 文件中定义 GOPATH 和 GOBIN Go 环境变量以指向最近创建的工作区。 GOPATH 变量告诉 Go 你的源文件的位置,而 GOBIN 变量指示它在哪里创建编译的二进制文件。

打开 .bash_profile 文件:

vi ~/.bash_profile


将以下内容添加到文件末尾,保存并退出:

~/.bash_profile


. . .
export GOBIN="$HOME/projects/bin"
export GOPATH="$HOME/projects/src"


警告:如步骤 2 中所述,如果 Go 未安装在 /usr/local 目录中,则还要定义 GOROOT 变量。

~/.bash_profile

. . .
export GOROOT="/path/to/go"


  要将更改应用到当前 BASH 会话,请使用 source 命令重新加载更新的配置文件:

source /etc/profile && source ~/.bash_profile


有了 Go 的核心,让我们通过编写一个短程序来确认我们的设置是否有效。

第 4 步 - 创建程序


编写我们的第一个程序将确保我们的环境正常工作,并使我们有机会熟悉 Go 编程语言。

首先,创建一个新的 .go 文件:

vi ~/projects/src/hello.go


下面的代码使用主 Go 包,导入格式化的 IO 内容组件,并设置一个新函数来打印字符串 Hello, World!。将以下内容添加到文件中:

~/projects/hello.go

package main

import "fmt"

func main() {
    fmt.Printf("Hello, World!\n")
}

然后,保存并退出文件。

接下来,使用 go install 命令编译 hello.go 源文件:

go install $GOPATH/hello.go


我们现在准备运行我们的程序:

$GOBIN/hello


hello.go 程序应该产生一个 Hello, World!消息,确认 Go 安装成功。

结论


简单的“你好,世界!”程序确定你有一个 Go 开发环境。典型的应用程序将使用库和远程包。要了解有关使用这些附加组件的更多信息,请查看有关如何编写 Go 代码的官方文档。

文章链接