„Go Language Tutorial Series' Hallo Welt

Freigeben: 2023-07-24 17:22:27
nach vorne
560 Leute haben es durchsucht

Dies ist der zweite Artikel in der „Golang Tutorial Series“. Wenn nicht, können Sie einen Blick auf unser vorheriges Tutorial „Golang-Einführung und Installation der Umgebung“ werfen, um zu verstehen, was Golang ist und wie man Golang herunterlädt.

Dieses Tutorial basiert auf Go 1.16 oder höher.

Es gibt keinen effektiveren Weg, eine Programmiersprache zu lernen, als seine Hände voller Codeblut zu haben? Lasst uns gemeinsam unser erstes Go-Programm starten. (First Blood)

Einrichten der Entwicklungsumgebung

Erstellen wir zunächst einen Ordner, um das Hallo-Welt-Programm zu schreiben. Bitte öffnen Sie die Befehlszeile und führen Sie den folgenden Befehl aus:

mkdir ~/Desktop/learngo/
Nach dem Login kopieren

Der obige Befehl erstellt eine Datei mit dem Namenlearngos Ordner (Translator Die Entwicklungsumgebung ist Macbook Pro. Sie können überall Verzeichnisse erstellen und Code schreiben.learngo的文件夹(译者开发环境为 Macbook Pro)。你可以在任意位置创建目录编写代码。

Hello World

使用你喜爱的文本编辑器在learngo文件夹中创建一个名为main.go

Hallo WeltVerwenden Sie Ihren bevorzugten Texteditor in learngoErstellen Sie einen Ordner mit dem Namen main.goDatei und schreiben Sie den folgenden Inhalt:
package main import "fmt" func main() { fmt.Println("Hello World") }
Nach dem Login kopieren
Nach dem Login kopieren

在 Go 中将包含main函数的文件命名为main.go是约定俗称的,但是其他名称也是可以使用。

运行一个程序

有几种不同的方式来运行 Go 程序。让我们一一看一下。

1.go install

第一个运行 Go 程序的方法是使用go install命令。让我们来使用cd命令进入刚创建的learngo目录

cd ~/Desktop/learngo/
Nach dem Login kopieren
Nach dem Login kopieren

接着运行下面的命令。

go install
Nach dem Login kopieren

上面的命令将编译当前程序并将其安装(拷贝)二进制可执行文件到~/go/bin目录。二进制可执行文件的名字是包含main.go文件的文件夹名。在我们示例中,它将被命名为learngo

当你尝试安装程序时,你可能会遇到以下错误。

go: cannot find main module; see 'go help modules'
Nach dem Login kopieren

上面的错误实际上意味着,go install无法找到 main 模块,这是因为我们没有初始化 go modules,我们使用以下命令初始化模块:

go mod init github.com/youngjuning/learngo
Nach dem Login kopieren

上面的命令会在learngo目录下创建一个go.mod文件,该文件是程序模块定义的地方,作用类似于 Node 的package.json文件。然后我再执行go install便可以成功。

你可以在命令行输入ls -al ~/go/bin/learngo,然后你会发现go install实际上是把二进制可执行文件放在了~/go/bin中。

现在让我们运行编译后的二进制可执行文件。

~/go/bin/learngo
Nach dem Login kopieren

上面的命令将运行learngo并打印出以下内容:

Hello World
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

恭喜你!你已经成功地运行了你的第一个 Go 程序。

如果你不想每次都输入完整的~/go/bin/learngo路径来运行程序,你可以添加~/go/bin/到你的PATH中。

export GOPATH=~/.go export PATH=${PATH}:$GOPATH/bin
Nach dem Login kopieren

现在你可以在命令行中只输入learngo来运行程序。

你可能想知道,当learngo目录包含多个 Go 文件而不只是只有main.go时会发生什么.在这种情况下,go install将如何工作?请继续往下看,我们将Gehen Sie zu Go ;">2. go buildlearngo目录包含多个 Go 文件而不只是只有main.go时会发生什么。在这种情况下,go install将如何工作?请继续往下看,我们将在了解软件包和 Go 模块时讨论这些内容。

2. go build

运行程序的第二个选项是使用go buildgo buildgo install非常相似,不同之处在于它不会将编译的二进制文件安装(拷贝)到路径~/go/bin/,而是在go build运行程序的第二个选项是使用go buildgo buildgo install非常相似,不同之处在于它不会将编译的二进制文件安装(拷贝)到路径Schriftfamilie: „Operator Mono“, Consolas, Monaco, Menlo, Monospace;Wortumbruch: break-all;Farbe: rgb(145, 109, 213);Schriftstärke: fetter;Hintergrundbild: keine;Hintergrundposition: initial; Hintergrundgröße: initial;Hintergrundwiederholung: initial;Hintergrundanhang: initial;Hintergrundursprung: initial;Hintergrundclip: initial;">~/go/bin/,而是在go build所在的文件夹下创建二进制文件:

在命令行输入以下命令来切换当前目录到learngo

cd ~/Desktop/learngo/
Nach dem Login kopieren
Nach dem Login kopieren

然后输入下面的命令:

go build
Nach dem Login kopieren

上面的命令将会在当前目录下创建一个名为learngo的二进制可执行文件。ls -al命令可以证实名为learngo的文件被创建了。

输入./learngo来运行程序,将会输入和前面一样的内容:

Hello World
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

到此,我们用go build也成功地运行了我们的第一个 Go 程序 ?

3. go run

第三个运行程序的方法是使用go run命令。

在命令行输入cd ~/Desktop/learngo命令来改变当前目录为learngo

然后输入以下命令。

go run main.go
Nach dem Login kopieren

输入以上命令后,我们也可以看到一样的输出:

Hello World
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

go run命令和go buildgo install命令之间的一个细微差别是,go run要求使用.go文件的名称作为参数。

在引擎盖下,go run的工作原理与go build非常相似。无需将程序编译并安装到当前目录,而是将文件编译到一个临时位置并从该位置运行文件。如果你想知道go run将文件编译到的位置,请使用--work参数运行go run

go run --work main.go
Nach dem Login kopieren

在我的场景中,运行以上命令会输出下面的内容:

WORK=/var/folders/mf/_fk8g5jn23gcw970pypqlv4m0000gn/T/go-build3519209434 Hello World
Nach dem Login kopieren

WORK的值表示程序将被编译到的一个临时位置。

就我的场景而言,程序被编译到/var/folders/mf/_fk8g5jn23gcw970pypqlv4m0000gn/T/go-build3519209434。这可能因你的情况而异 ?

4. Go Playground

运行程序的最后一种方法是使用 go playground。尽管此方法有一些限制,但由于我们可以使用浏览器并且不需要在本地本地安装 Go:我已经为 Hello World 程序创建了一个 playground。点击此处 以在线运行该程序。

你还可以使用 Go Playground 与他人分享你的源代码。

既然我们知道 4 种不同的方式来运行程序,那么你可能会很困惑该使用哪种方法。答案是,当我想快速检查逻辑或找出标准库函数如何工作时,通常使用 playground。在大多数其他情况下,我更喜欢go install,因为它为我提供了从终端中任何目录运行程序的选项,因为它将所有程序编译到标准的~/go/bin/路径。

对 Hello World 程序的简短解析

这是我们刚刚创建的简单的 hello world 程序:

package main import "fmt" func main() { fmt.Println("Hello World") }
Nach dem Login kopieren
Nach dem Login kopieren

我们将简要讨论该程序的每一行的作用。在接下来的教程中,我们将深入研究程序的每个部分。

「package main」- 每个 go 文件都必须以package name开始。Packages 用于提供代码分隔和可重用性。此处使用包名称main。主要功能应始终保留在 main package 中。

「import "fmt"」-import2px 4px;Randradius: 4px;Rand rechts: 2px;Rand links: 2px;Schriftfamilie: „Operator Mono“, Consolas, Monaco, Menlo, Monospace;Wortumbruch: break-all;Farbe: rgb( 145, 109, 213);Schriftstärke: fetter;Hintergrundbild: keine;Hintergrundposition: initial;Hintergrundgröße: initial;Hintergrundwiederholung: initial;Hintergrundanhang: initial;Hintergrundursprung: initial;Hintergrund -clip: initial;">fmt Wird angezeigt, wenn Siemain函数中用于将文本打印到标准输出。import语句用于导入其他软件包。在我们的例子中,fmt包被导入,它将在main函数中用于将文本打印到标准输出。

「func main()」-func关键字标记函数的开始。main是一个特殊函数。程序从main函数开始执行。大括号{}表示main

「func main()」 - func关键字标记函数的开始。 main是一个特殊函数.程序从 main函数开始执行。大括号 {und }表示 main函数的开始和结束。

『fmt.Println("Hello World")』fmt软件包的PrintIn函数用于将文本写入标准输出。package.function()ist die Syntax zum Aufrufen von Funktionen in einem Paket.

Das obige ist der detaillierte Inhalt von„Go Language Tutorial Series' Hallo Welt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:Go语言进阶学习
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!