Heim > Backend-Entwicklung > Golang > Kennen Sie die beiden Versionen von Hello World in der Go-Sprache?

Kennen Sie die beiden Versionen von Hello World in der Go-Sprache?

angryTom
Freigeben: 2019-11-28 14:20:04
nach vorne
2489 Leute haben es durchsucht

Beim Erlernen einer Programmiersprache ist es neben der grundlegenden Syntax wichtiger zu verstehen, wie man sie in tatsächlichen Projekten verwendet. In diesem Artikel werde ich mit Ihnen zusammenarbeiten, um die Go-Sprache zu installieren, die Umgebung zu konfigurieren, die IDE zu installieren und ein Hello World-Programm von Grund auf zu entwickeln. Ich werde zwei Versionen dieser Hello World-Version schreiben: GOPATH und Go Module-Versionen.

Kennen Sie die beiden Versionen von Hello World in der Go-Sprache?

F:
Warum gibt es zwei Versionen dieses Tutorials?
A:
Die meisten Go-Sprachen „Hello World“ im Internet stellen die GOPATH-Version nur kurz vor. Seit Version 1.11 von Go wird jedoch nicht mehr empfohlen, GOPATH zum Erstellen von Anwendungen zu verwenden. Mit anderen Worten: GOPATH gilt als veraltet und als falscher Ansatz.
Der richtige Ansatz ist die Verwendung des Go-Moduls. Daher ist es notwendig, Anfängern diese Informationen im Tutorial mitzuteilen und sie bei der Verwendung des empfohlenen Best-Practice-Go-Moduls anzuleiten.
Vielleicht ist das der Unterschied zwischen diesem Hello World-Tutorial und den meisten Tutorials im Internet. Es beginnt mit dem tatsächlichen Einsatz der Entwickler. Stellen Sie den Entwicklungsverlauf und die Best Practices der Go-Sprache vor.

Go installieren

Um in der Go-Sprache zu entwickeln, besteht der erste Schritt darin, Go zu installieren.

Schritt eins: Besuchen Sie die offizielle Website der Go-Sprache https://golang.org. Klicken Sie auf „Go herunterladen“. Ja, dieses dumme Murmeltier ^_^

Kennen Sie die beiden Versionen von Hello World in der Go-Sprache?
Schritt 2: Laden Sie das entsprechende Softwarepaket entsprechend dem Betriebssystem herunter und installieren Sie es.

Golang unterstützt gängige Betriebssysteme wie Windows, MacOS und Linux.
In dieser Reihe von Tutorials werde ich das MacOS-Betriebssystem verwenden, daher wähle ich den Download von „Apple macOS“. Jeder sollte entsprechend seinem eigenen Betriebssystem herunterladen.
Kennen Sie die beiden Versionen von Hello World in der Go-Sprache?
Schritt 3: Go installieren.

Die Installation von Go unter MacOS ist sehr einfach. Es handelt sich um eine Standard-DMG-Dateiinstallation.

Schritt 4: Bestätigen Sie, ob Go erfolgreich installiert wurde.

Führen Sie den Befehl „go version“ aus und es wird etwas Ähnliches wie „go version go1.12.9 darwin/amd64“ ausgegeben. Bitte stellen Sie sicher, dass beim Paket keine Fehler auftreten.

Konfigurieren der Umgebung

Ähnlich wie bei anderen Entwicklungssprachen müssen Sie nach der Installation von Go die Entwicklungsumgebung entsprechend konfigurieren. Beispielsweise müssen in Java JAVA_HOME, MAVEN usw. konfiguriert werden.
Die Umgebungsvariablen im Zusammenhang mit der Go-Entwicklung lauten wie folgt:

● GOROOT: GOROOT ist das Installationsverzeichnis von Go.

● GOPATH: GOPATH speichert den Go-Projektcode.

GOROOT

GOROOT ist der Installationspfad von Go. Durch die Installation von Go auf dem Mac wird GOROOT automatisch konfiguriert und der Pfad lautet /usr/local/go. GOROOT erfordert in den meisten Fällen keine Änderung. Das Folgende ist der Inhalt des GOROOT-Verzeichnisses (einige irrelevante Informationen wurden weggelassen):

tree -L 2 /usr/local/go

./
├── bin
│   ├── go
│   └── gofmt
├── doc
│   ├── articles
│   └── docs.html
├── src
│   ├── errors
│   ├── fmt
│   ├── log
│   └── os
Nach dem Login kopieren

Sie können sehen, dass es unter GOROOT Verzeichnisse bin, doc und src gibt. Im bin-Verzeichnis befinden sich die bekannten Tools go und gofmt. Man kann davon ausgehen, dass GOOROOT dem JDK-Verzeichnis in Java ähnelt.

GOPATH

GOPATH ist das Arbeitsverzeichnis während der Entwicklung. Verwendet für:

● Speichern Sie die kompilierte Binärdatei.

● Mit den Befehlen „go get“ und „go install“ wird der Go-Code nach GOPATH heruntergeladen.

● Suchpfad beim Importieren von Paketen.

Besondere Aufmerksamkeit muss GOPATH gewidmet werden. Vor Version 1.11 von Go war GOPATH erforderlich und der gesamte Go-Projektcode musste im GOPATH-Verzeichnis gespeichert werden. Nach der Go-Version 1.11 führte GO das Go-Modul offiziell ein. Mit dem Go-Modul verwaltete Projekte können außerhalb des GOPATH-Verzeichnisses abgelegt werden.

Bei Verwendung von GOPATH sucht GO nach Paketen in den folgenden Verzeichnissen:

1. GOROOT/src: Dieses Verzeichnis speichert den Go-Standardbibliothekscode.

2. GOPATH/src: Dieses Verzeichnis speichert den eigenen Code der Anwendung und den Code von Drittanbieter-Abhängigkeiten.

Angenommen, das folgende Paket wird im Programm eingeführt:

import "github.com/tom/hello-go/foo/bar"
Nach dem Login kopieren

Schritt 1: Go sucht zunächst im scr-Verzeichnis von GOROOT. Es handelt sich offensichtlich nicht um ein Standardbibliothekspaket und wurde nicht gefunden.

Schritt 2: Weiter im src-Verzeichnis von GOPATH suchen. Genauer gesagt ist es das Verzeichnis GOPATH/src/github.com/tom/hello-go/foo/bar . Wenn das Verzeichnis nicht existiert, wird eine Fehlermeldung gemeldet, dass das Paket nicht gefunden werden kann. Wenn Sie GOPATH zum Verwalten von Projekten verwenden, müssen Sie die Spezifikationen von GO befolgen, um Pakete zu finden, um Go-Code ordnungsgemäß zu speichern und zu organisieren.

Go的这个“将所有代码都放置在GOPATH中”的设计,的确是和其他主流语言很不一样。不管Go官方是出于什么考虑,这个设计在实际使用中,的确给开发者造成了很大的不便和理解上的困难。甚至直接劝退了很多Go的初学者。

万幸的是,Go Module正式发布了。Go Module的发布解决了困扰Go语言长达十年的代码组织,依赖管理问题。

说明:关于GOPATH和Go Module的历史渊源,详细使用,会在另一篇进行说明。本文还是聚焦在Hello World入门。

另外,由于某些原因,Go的某些托管在Google仓库中的代码在国内是无法访问的。如果使用Go Module,我们可以设置GOPROXY,让Go从GOPROXYKennen Sie die beiden Versionen von Hello World in der Go-Sprache?代码,速度更快。国内用户可以设置GOPROXY为https://goproxy.cn,使用如下命令来设置GOPROXY:

export GOPROXY=https://goproxy.cn
Nach dem Login kopieren

关于环境配置,总结下来就是:

● 如果使用Go Module(推荐的),设置export GOPROXY=https://goproxy.cn。

● 如果使用GOPATH(遗留的,被废弃的),需要设置GOPATH到本地的某个目录。

安装IDE

目前比较常用的IDE有:

● Visual Studio Code

● GoLand

Visual Studio Code是微软开发的一款开源的,轻量级的文本编辑器。通过安装Go插件,可以用于Go语言的开发。GoLand是JetBrains公司开发的,专业的Go语言开发IDE。

推荐使用GoLand。很多人都说Visual Studio Code更轻量级,但作为一款每天都要重度使用的,需要靠它吃饭的工具,我们需要的是功能全面。尤其是当你需要完备的调试,需要强大的IDE智能辅助功能时,相信你会选择更专业的GoLand。

GoLand的官方主页为https://www.jetbrains.com/go/,点击“Download”即可下载

注意
GoLand使用的是和IntelliJ IDEA一样的框架,是用Java语言开发的。你需要安装Java环境才可以运行GoLand哦。

GoLand是收费软件,只有30天的试用期。试用期结束后,需要购买授权。当然在天朝,我们都习惯不花钱用软件。大家可以自行百度或google搜索一下。

Hello World(GOPATH版)

第一步:设置GOPATH

首先设置GOPATH,假设GOPATH设置为$HOME/worspace/go。

第二步:创建子目录

进入$HOME/workspace/go目录。新建子目录src。然后再src中新建子目录hello。在hello目录,新建一个hello-world.go文件:

目录结构应该如下所示:

$HOME
  workspace
    go
      src
        hello
          hello-world.go
Nach dem Login kopieren

第三步:创建hello-world.go文件:

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

第四步:执行go build

在$HOME/workspace/go目录执行命令:

go build
Nach dem Login kopieren

会生成一个可执行二进制文件:hello。如果是Windows系统,会生成hello.exe文件。
第五步:运行hello文件:

./hello

hello world
Nach dem Login kopieren

输出“hello world”。

Hello World(GO Module版)

第一步:创建项目的根目录

任意创建一个目录(可以不在GOPATH中),假设是$HOME/tmp/hello。

第二步:初始化Go模块

执行命令:

go mod init github.com/vangoleo/hello
Nach dem Login kopieren

该命令会将hello目录初始化为一个Go module,并生成一个$HOME/tmp/hello/go.mod文件。内容如下:

module github.com/vangoleo/hello

go 1.12
Nach dem Login kopieren

第三步:编写hello.go文件

编写文件$HOME/tmp/hello/hello.go:

package main

import (
    "fmt"
    "rsc.io/quote"
)

func main() {
    fmt.Println(quote.Hello())
}
Nach dem Login kopieren

第四步:编辑go.mod文件:

在实际项目中,都会使用到第三方库。可以在Go Module中添加项目的依赖。本例中,我们会添加一个quote依赖,该依赖会打印当前语言的“Hello World”,比如,如果是中文环境,会打印“你好,世界”。

编辑go.mod文件,添加quote依赖:

module github.com/vangoleo/hello

go 1.12

require rsc.io/quote v1.5.2
Nach dem Login kopieren

第五步:执行go build

执行go build,会生成可执行文件$HOME/tmp/hello/hello。

第六步:执行hello文件

执行hello文件,输出“你好,世界”。

推荐:go语言教程  

Das obige ist der detaillierte Inhalt vonKennen Sie die beiden Versionen von Hello World in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage