Maison > développement back-end > Golang > le corps du texte

Connaissez-vous les deux versions de Hello world en langage Go ?

angryTom
Libérer: 2019-11-28 14:20:04
avant
2431 Les gens l'ont consulté

Lors de l'apprentissage d'un langage de programmation, en plus de la syntaxe de base, il est plus important de comprendre comment l'utiliser dans des projets réels. Dans cet article, je travaillerai avec vous pour installer le langage Go, configurer l'environnement, installer l'IDE et développer un programme Hello World à partir de zéro. J'écrirai deux versions de cette version Hello World : les versions GOPATH et Go Module.

Connaissez-vous les deux versions de Hello world en langage Go ?

Q :
Pourquoi existe-t-il deux versions de ce tutoriel ?
A :
La plupart des langages Go Hello World sur Internet ne présentent que brièvement la version GOPATH. Cependant, à partir de la version 1.11 de Go, il n'est plus recommandé d'utiliser GOPATH pour créer des applications. En d’autres termes, GOPATH est considéré comme obsolète et constitue une mauvaise approche.
La bonne approche consiste à utiliser le module Go. Par conséquent, il est nécessaire de fournir ces informations aux débutants dans le didacticiel et de les guider dans l'utilisation des meilleures pratiques recommandées du module Go.
C'est peut-être la différence entre ce tutoriel Hello World et la plupart des tutoriels sur Internet. Cela partira de l’utilisation réelle des développeurs. Présentez l’historique de développement et les meilleures pratiques du langage Go.

Installer Go

Pour développer en langage Go, la première étape consiste à installer Go.

Première étape : accédez au site officiel du langage Go https://golang.org. Cliquez sur "Télécharger Go". Oui, cette idiote de marmotte ^_^

Connaissez-vous les deux versions de Hello world en langage Go ?
Étape 2 : Téléchargez le progiciel correspondant en fonction du système d'exploitation et installez-le.

Golang prend en charge les systèmes d'exploitation courants, tels que Windows, MacOS et Linux.
Dans cette série de tutoriels, j'utiliserai le système d'exploitation MacOS, j'ai donc choisi de télécharger "Apple macOS". Chacun doit télécharger selon son propre système d'exploitation.
Connaissez-vous les deux versions de Hello world en langage Go ?
Étape 3 : Installez Go.

L'installation de Go sous MacOS est très simple. Il s'agit d'une installation de fichier DMG standard. Juste "Suivant".

Étape 4 : Confirmez si Go est installé avec succès.

Exécutez la commande "go version", et quelque chose de similaire à "go version go1.12.9 darwin/amd64" sera affiché. Veuillez vous assurer qu'aucune erreur ne se produit avec le package.

Configuration de l'environnement

Semblable à d'autres langages de développement, après avoir installé Go, vous devez configurer l'environnement de développement en conséquence. Par exemple, en Java, JAVA_HOME, MAVEN, etc. doivent être configurés.
Les variables d'environnement liées au développement de Go sont les suivantes :

● GOROOT : GOROOT est le répertoire d'installation de Go.

● GOPATH : GOPATH enregistre le code du projet go.

GOROOT

GOROOT est le chemin d'installation de Go. L'installation de Go sur Mac configurera automatiquement GOROOT et le chemin est /usr/local/go. GOROOT ne nécessite aucune modification dans la plupart des cas. Voici le contenu du répertoire GOROOT (certaines informations non pertinentes ont été omises) :

tree -L 2 /usr/local/go

./
├── bin
│   ├── go
│   └── gofmt
├── doc
│   ├── articles
│   └── docs.html
├── src
│   ├── errors
│   ├── fmt
│   ├── log
│   └── os
Copier après la connexion

Vous pouvez voir qu'il y a des répertoires bin, doc et src sous GOROOT. Il existe des outils go et gofmt familiers dans le répertoire bin. On peut penser que GOOROOT est similaire au répertoire JDK en Java.

GOPATH

GOPATH est le répertoire de travail pendant le développement. Utilisé pour :

● Enregistrez le fichier binaire compilé.

● Les commandes go get et go install téléchargeront le code go sur GOPATH.

● Chemin de recherche lors de l'importation de packages.

Une attention particulière doit être portée à GOPATH. Avant la version 1.11 de Go, GOPATH était requis et tout le code du projet Go devait être enregistré dans le répertoire GOPATH. Après Go version 1.11, GO a officiellement introduit Go Module. Les projets gérés à l'aide du module Go peuvent être placés en dehors du répertoire GOPATH.

Lors de l'utilisation de GOPATH, GO recherchera les packages dans les répertoires suivants :

1 GOROOT/src : Ce répertoire enregistre le code de la bibliothèque standard Go.

2. GOPATH/src : Ce répertoire enregistre le code propre de l'application et le code des dépendances tierces.

Supposons que le package suivant soit introduit dans le programme :

import "github.com/tom/hello-go/foo/bar"
Copier après la connexion

Étape 1 : Go recherchera d'abord dans le répertoire scr de GOROOT. Évidemment, ce n'est pas un package de bibliothèque standard et n'a pas été trouvé.

Étape 2 : Continuez à chercher dans le répertoire src de GOPATH Pour être précis, il s'agit du répertoire GOPATH/src/github.com/tom/hello-go/foo/bar. . Si le répertoire n'existe pas, une erreur sera signalée indiquant que le package est introuvable. Lorsque vous utilisez GOPATH pour gérer des projets, vous devez suivre les spécifications de GO pour rechercher des packages afin d'enregistrer et d'organiser correctement le code Go.

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

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

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

另外,由于某些原因,Go的某些托管在Google仓库中的代码在国内是无法访问的。如果使用Go Module,我们可以设置GOPROXY,让Go从GOPROXYConnaissez-vous les deux versions de Hello world en langage Go ?代码,速度更快。国内用户可以设置GOPROXY为https://goproxy.cn,使用如下命令来设置GOPROXY:

export GOPROXY=https://goproxy.cn
Copier après la connexion

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

● 如果使用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
Copier après la connexion

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

package main
import "fmt"
func main() {
    fmt.Println("hello world")
}
Copier après la connexion

第四步:执行go build

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

go build
Copier après la connexion

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

./hello

hello world
Copier après la connexion

输出“hello world”。

Hello World(GO Module版)

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

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

第二步:初始化Go模块

执行命令:

go mod init github.com/vangoleo/hello
Copier après la connexion

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

module github.com/vangoleo/hello

go 1.12
Copier après la connexion

第三步:编写hello.go文件

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

package main

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

func main() {
    fmt.Println(quote.Hello())
}
Copier après la connexion

第四步:编辑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
Copier après la connexion

第五步:执行go build

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

第六步:执行hello文件

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

推荐:go语言教程  

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!