· Mac OS ・ Goenv 2.0.0 Beta11 ・ Go Version go1.15.2 darwin / amd64
Dieses Mal werden wir die klassische Hello World betreiben.
Erstellen Sie vorerst eine Datei mit dem Namen ** hello.go ** direkt unter $ GOPATH und schreiben Sie dort das folgende Programm.
package main //Paketdeklaration
import ( //Importieren Sie das zu verwendende Paket
"fmt"
)
func main() { //Funktion main(Einstiegspunkt)Definition von
fmt.Println("Hello World")
}
Öffnen Sie dann das Verzeichnis, in dem Sie die Datei erstellt haben, im Terminal, geben Sie `` `$ go run hello.go``` ein, und wenn ** Hello World ** angezeigt wird, ist die Ausführung erfolgreich.
Als nächstes kompilieren Sie hello.go in ein ausführbares Dateiformat.
Sie können den Namen der ausführbaren Datei angeben, indem Sie den Befehl ** build ** wie unten gezeigt eingeben und die Option -o verwenden.
$ go build -o hello hello.go
Anschließend wird eine ausführbare Datei mit dem Namen ** Hallo ** erstellt, sodass Sie Hello World ausführen können, indem Sie einfach den folgenden Befehl in das Terminal eingeben.
$ ./hello
Hello World
Angenommen, Sie möchten die Dateien im Testverzeichnis testen, vorausgesetzt, die Paketstruktur lautet wie folgt.
Es wird auch das abhängige Modulverwaltungstool Module verwendet.
go mod init github.com/username/Es ist ein Testprojekt.
* Obwohl es aus go 1.13 importiert wurde, befindet es sich in der Übergangszeit von go 1.11, kann aber durch Setzen von `` `export GO111MODULE = on`` `verwendet werden.
testproject
│────── tests
│ │────testA
│ │────testB
│ │────testC
│
│────── main.go
Erstellen Sie zunächst eine Datei unter dem Testverzeichnis, sodass ** _test.go ** endet. Dies ist eine festgelegte Regel beim Testen eines Pakets.
#### **`Beispiel)tests_test.go`**
```go
Schreiben Sie den Inhalt der Datei tests_test.go wie unten gezeigt.
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)
}
}
Geben Sie dann den Befehl in das Terminal ein, führen Sie den Test aus. Wenn die Ausgabe wie folgt lautet, ist sie erfolgreich.
$ go test github.com/username/testproject/tests ok github.com/noa-1129/testproject/tests 0.506s
Sie können die Details für jede Datei auch überprüfen, indem Sie die Option -v hinzufügen.
$ 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
## Schließlich
In diesem Pakettest habe ich ** Go-Module ** als abhängiges Modulverwaltungstool verwendet, aber ich werde im nächsten Artikel über Go-Module schreiben!