资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么创建一个go语言文件 go语言环境搭建

如何搭建go语言环境 linux

Go的三种安装方式

创新互联公司专业为企业提供南岗网站建设、南岗做网站、南岗网站设计、南岗网站制作等企业网站建设、网页设计与制作、南岗企业网站模板建站服务,10多年南岗做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:

Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。

Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。**推荐这种方式**

第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。

最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理。

Go源码安装

在Go的源代码中,有些部分是用Plan 9 C和ATT汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。

在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。

在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc

libc6-dev来安装编译工具。

在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。

你可以直接去官网下载源码,找相应的goVERSION.src.tar.gz的文件下载,下载之后解压缩到$HOME目录,执行如下代码:

cd go/src

./all.bash

运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。

上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。

如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,

export GOPATH=$HOME/gopath

export PATH=$PATH:$HOME/go/bin:$GOPATH/bin

如果你是写入文件的,记得执行bash .bashrc或者bash

.zshrc使得设置立马生效。

如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量。

当你设置完毕之后在命令行里面输入go,看到如下图片即说明你已经安装成功

图1.1 源码安装之后执行Go命令的图

如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。

关于上面的GOPATH将在下面小节详细讲解

Go标准包安装

Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go

(Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:

export GOROOT=$HOME/go

export GOPATH=$HOME/gopath

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量。

go语言新建项目

一直直接操作的框架 使用vscode 打开就会自动装包,这次想写一个简单应用,确不会怎么建项目,记录如下。

go1.14 后,以及不再需要把项目写在GOPATH下,所有不需要再配置。

配置GOPRXY goenv-w GOPROXY=(国内无法访问)

使用go mod方法新建项目。

任意位置新建文件夹。

文件夹下执行go mod xxx ,生成一个go.mod文件。

新建一个main.go文件,就可以直接运行了。

我开始的时候,先建了main.go文件,再执行的go.mod。后面没法运行。

参考:李文周的博客。

GO语言(十一):开始使用多模块工作区

本教程介绍 Go 中多模块工作区的基础知识。使用多模块工作区,您可以告诉 Go 命令您正在同时在多个模块中编写代码,并轻松地在这些模块中构建和运行代码。

在本教程中,您将在共享的多模块工作区中创建两个模块,对这些模块进行更改,并在构建中查看这些更改的结果。

本教程需要 go1.18 或更高版本。使用go.dev/dl中的链接确保您已在 Go 1.18 或更高版本中安装了 Go 。

首先,为您要编写的代码创建一个模块。

1、打开命令提示符并切换到您的主目录。

在 Linux 或 Mac 上:

在 Windows 上:

2、在命令提示符下,为您的代码创建一个名为工作区的目录。

3、初始化模块

我们的示例将创建一个hello依赖于 golang.org/x/example 模块的新模块。

创建你好模块:

使用 . 添加对 golang.org/x/example 模块的依赖项go get。

在 hello 目录下创建 hello.go,内容如下:

现在,运行 hello 程序:

在这一步中,我们将创建一个go.work文件来指定模块的工作区。

在workspace目录中,运行:

该go work init命令告诉为包含目录中模块的工作空间go创建一个文件 。go.work./hello

该go命令生成一个go.work如下所示的文件:

该go.work文件的语法与go.mod相同。

该go指令告诉 Go 应该使用哪个版本的 Go 来解释文件。它类似于文件中的go指令go.mod 。

该use指令告诉 Go在进行构建时hello目录中的模块应该是主模块。

所以在模块的任何子目录中workspace都会被激活。

2、运行工作区目录下的程序

在workspace目录中,运行:

Go 命令包括工作区中的所有模块作为主模块。这允许我们在模块中引用一个包,即使在模块之外。在模块或工作区之外运行go run命令会导致错误,因为该go命令不知道要使用哪些模块。

接下来,我们将golang.org/x/example模块的本地副本添加到工作区。然后,我们将向stringutil包中添加一个新函数,我们可以使用它来代替Reverse.

在这一步中,我们将下载包含该模块的 Git 存储库的副本golang.org/x/example,将其添加到工作区,然后向其中添加一个我们将从 hello 程序中使用的新函数。

1、克隆存储库

在工作区目录中,运行git命令来克隆存储库:

2、将模块添加到工作区

该go work use命令将一个新模块添加到 go.work 文件中。它现在看起来像这样:

该模块现在包括example.com/hello模块和 `golang.org/x/example 模块。

这将允许我们使用我们将在模块副本中编写的新代码,而不是使用命令stringutil下载的模块缓存中的模块版本。

3、添加新功能。

我们将向golang.org/x/example/stringutil包中添加一个新函数以将字符串大写。

将新文件夹添加到workspace/example/stringutil包含以下内容的目录:

4、修改hello程序以使用该功能。

修改workspace/hello/hello.go的内容以包含以下内容:

从工作区目录,运行

Go 命令在go.work文件指定的hello目录中查找命令行中指定的example.com/hello模块 ,同样使用go.work文件解析导入golang.org/x/example。

go.work可以用来代替添加replace 指令以跨多个模块工作。

由于这两个模块在同一个工作区中,因此很容易在一个模块中进行更改并在另一个模块中使用它。

现在,要正确发布这些模块,我们需要发布golang.org/x/example 模块,例如在v0.1.0. 这通常通过在模块的版本控制存储库上标记提交来完成。发布完成后,我们可以增加对 golang.org/x/example模块的要求hello/go.mod:

这样,该go命令可以正确解析工作区之外的模块。

GO语言(三十):访问关系型数据库(上)

本教程介绍了使用 Godatabase/sql及其标准库中的包访问关系数据库的基础知识。

您将使用的database/sql包包括用于连接数据库、执行事务、取消正在进行的操作等的类型和函数。

在本教程中,您将创建一个数据库,然后编写代码来访问该数据库。您的示例项目将是有关老式爵士乐唱片的数据存储库。

首先,为您要编写的代码创建一个文件夹。

1、打开命令提示符并切换到您的主目录。

在 Linux 或 Mac 上:

在 Windows 上:

2、在命令提示符下,为您的代码创建一个名为 data-access 的目录。

3、创建一个模块,您可以在其中管理将在本教程中添加的依赖项。

运行go mod init命令,为其提供新代码的模块路径。

此命令创建一个 go.mod 文件,您添加的依赖项将在其中列出以供跟踪。

注意: 在实际开发中,您会指定一个更符合您自己需求的模块路径。有关更多信息,请参阅一下文章。

GO语言(二十五):管理依赖项(上)

GO语言(二十六):管理依赖项(中)

GO语言(二十七):管理依赖项(下)

接下来,您将创建一个数据库。

在此步骤中,您将创建要使用的数据库。您将使用 DBMS 本身的 CLI 创建数据库和表,以及添加数据。

您将创建一个数据库,其中包含有关黑胶唱片上的老式爵士乐录音的数据。

这里的代码使用MySQL CLI,但大多数 DBMS 都有自己的 CLI,具有类似的功能。

1、打开一个新的命令提示符。

在命令行,登录到您的 DBMS,如下面的 MySQL 示例所示。

2、在mysql命令提示符下,创建一个数据库。

3、切到您刚刚创建的数据库,以便您可以添加表。

4、在文本编辑器的 data-access 文件夹中,创建一个名为 create-tables.sql 的文件来保存用于添加表的 SQL 脚本。

将以下 SQL 代码粘贴到文件中,然后保存文件。

在此 SQL 代码中:

(1)删除名为album表。 首先执行此命令可以让您更轻松地稍后重新运行脚本。

(2)创建一个album包含四列的表:title、artist和price。每行的id值由 DBMS 自动创建。

(3)添加带有值的四行。

5、在mysql命令提示符下,运行您刚刚创建的脚本。

您将使用以下形式的source命令:

6、在 DBMS 命令提示符处,使用SELECT语句来验证您是否已成功创建包含数据的表。

接下来,您将编写一些 Go 代码进行连接,以便进行查询。

现在你已经有了一个包含一些数据的数据库,开始你的 Go 代码。

找到并导入一个数据库驱动程序,该驱动程序会将您通过database/sql包中的函数发出的请求转换为数据库可以理解的请求。

1、在您的浏览器中,访问SQLDrivers wiki 页面以识别您可以使用的驱动程序。

2、使用页面上的列表来识别您将使用的驱动程序。为了在本教程中访问 MySQL,您将使用 Go-MySQL-Driver。

3、请注意驱动程序的包名称 - 此处为github.com/go-sql-driver/mysql.

4、使用您的文本编辑器,创建一个用于编写 Go 代码的文件,并将该文件作为 main.go 保存在您之前创建的数据访问目录中。

5、进入main.go,粘贴以下代码导入驱动包。

在此代码中:

(1)将您的代码添加到main包中,以便您可以独立执行它。

(2)导入 MySQL 驱动程序github.com/go-sql-driver/mysql。

导入驱动程序后,您将开始编写代码以访问数据库。

现在编写一些 Go 代码,让您使用数据库句柄访问数据库。

您将使用指向结构的指针sql.DB,它表示对特定数据库的访问。

编写代码

1、进入 main.go,在import您刚刚添加的代码下方,粘贴以下 Go 代码以创建数据库句柄。

在此代码中:

(3)使用 MySQL 驱动程序Config和FormatDSN类型以收集连接属性并将它们格式化为连接字符串的 DSN。

该Config结构使代码比连接字符串更容易阅读。

(4)调用sql.Open 初始化db变量,传递 FormatDSN。

(5)检查来自 的错误sql.Open。例如,如果您的数据库连接细节格式不正确,它可能会失败。

为了简化代码,您调用log.Fatal结束执行并将错误打印到控制台。在生产代码中,您会希望以更优雅的方式处理错误。

(6)调用DB.Ping以确认连接到数据库有效。在运行时, sql.Open可能不会立即连接,具体取决于驱动程序。您在Ping此处使用以确认 database/sql包可以在需要时连接。

(7)检查来自Ping的错误,以防连接失败。

(8)Ping如果连接成功,则打印一条消息。

文件的顶部现在应该如下所示:

3、保存 main.go。

1、开始跟踪 MySQL 驱动程序模块作为依赖项。

使用go get 添加 github.com/go-sql-driver/mysql 模块作为您自己模块的依赖项。使用点参数表示“获取当前目录中代码的依赖项”。

2、在命令提示符下,设置Go 程序使用的DBUSER和DBPASS环境变量。

在 Linux 或 Mac 上:

在 Windows 上:

3、在包含 main.go 的目录中的命令行中,通过键入go run来运行代码。

连接成功了!

接下来,您将查询一些数据。


文章名称:怎么创建一个go语言文件 go语言环境搭建
网页链接:http://cdkjz.cn/article/dodcogp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220