Jeśli po prostu uciekniesz go run test1.go
i ten plik ma odniesienie do funkcji w innym pliku w tym samym pakiecie, wystąpi błąd, ponieważ nie powiedziałeś Go, aby uruchomił cały pakiet, powiedziałeś, że ma uruchamiać tylko ten jeden plik.
Możesz powiedzieć go, aby działał jako cały pakiet, grupując pliki jako pakiet w przebiegu na kilka sposobów. Oto kilka przykładów (jeśli twój terminal znajduje się w katalogu twojego pakietu):
go run ./
LUB
go run test1.go test2.go
LUB
go run *.go
Możesz spodziewać się takiego samego zachowania przy użyciu polecenia build, a po uruchomieniu utworzony plik wykonywalny będzie działał jako zgrupowany pakiet, gdzie pliki wiedzą o swoich funkcjach itp. Przykład:
go build ./
LUB
go build test1.go test2.go
LUB
go build *.go
Następnie po prostu wywołanie pliku wykonywalnego z wiersza poleceń da podobne wyniki, jak użycie polecenia uruchom, gdy uruchomiłeś wszystkie pliki razem jako cały pakiet. Dawny:
./test1
Lub jakakolwiek nazwa Twojego pliku wykonywalnego zostanie wywołana podczas jego tworzenia.
go fmt
? Jak w terminalu czy co? Jak to pokazuje, że mu na czymś zależy?