・ MacOS ・ Goenv 2.0.0 bêta11 ・ Go version go1.15.2 darwin / amd64
Cette fois, nous exécuterons le classique Hello World.
Pour le moment, créez un fichier avec le nom ** hello.go ** directement sous $ GOPATH et écrivez-y le programme suivant.
package main //Déclaration de colis
import ( //Importez le package à utiliser
"fmt"
)
func main() { //Fonction principale(Point d'accès)Définition de
fmt.Println("Hello World")
}
Ensuite, ouvrez le répertoire où vous avez créé le fichier dans le terminal, entrez
$ go run hello.go```, et lorsque ** Hello World ** est affiché, l'exécution est réussie.
Ensuite, compilez hello.go dans un format de fichier exécutable.
Vous pouvez spécifier le nom du fichier exécutable en entrant la ** commande de construction ** comme indiqué ci-dessous et en utilisant l'option -o.
$ go build -o hello hello.go
Ensuite, un fichier exécutable appelé ** hello ** sera créé, vous pouvez donc exécuter Hello World en entrant simplement la commande suivante dans le terminal.
$ ./hello
Hello World
Supposons que vous souhaitiez tester les fichiers dans le répertoire tests, en supposant que la structure du package est la suivante.
Il utilise également l'outil de gestion des modules dépendants Modules,
go mod init github.com/username/C'est un projet de test.
* Il a été importé de go 1.13, mais il est dans la période de transition de go 1.11, mais il peut être utilisé en définissant ```export GO111MODULE = on```.
testproject
│────── tests
│ │────testA
│ │────testB
│ │────testC
│
│────── main.go
Tout d'abord, créez un fichier sous le répertoire tests afin qu'il se termine ** _test.go **. Il s'agit d'une règle définie lors du test d'un package.
#### **`Exemple)tests_test.go`**
```go
Écrivez le contenu du fichier tests_test.go comme indiqué ci-dessous.
package tests
import ( "testing"
)
func TestJapaneseSubject(t *testing.T) { expect := "Japanese" actual := JapaneseSubject()
if expect != actual {
t.Errorf("%s != %s", expect, actual)
}
}
func TestEnglishSubject(t *testing.T) { expect := "English" actual := EnglishSubject()
if expect != actual {
t.Errorf("%s != %s", expect, actual)
}
}
func TestMathSubject(t *testing.T) { expect := "Math" actual := MathSubject()
if expect != actual {
t.Errorf("%s != %s", expect, actual)
}
}
Ensuite, entrez la commande dans le terminal, exécutez le test et si la sortie est la suivante, elle réussit.
$ go test github.com/username/testproject/tests ok github.com/noa-1129/testproject/tests 0.506s
Vous pouvez également vérifier les détails de chaque fichier en ajoutant l'option -v.
$ go test -v github.com/username/testproject/tests === RUN TestJapaneseSubject --- PASS: TestJapaneseSubject (0.00s) === RUN TestEnglishSubject --- PASS: TestEnglishSubject (0.00s) === RUN TestMathSubject --- PASS: TestMathSubject (0.00s) PASS ok github.com/username/testproject/tests 0.230s
## finalement
Dans ce test de package, j'ai utilisé ** Go Modules ** comme outil de gestion de module dépendant, mais j'écrirai sur les modules Go dans le prochain article!