Nếu bạn vừa chạy go run test1.go
và tệp đó có tham chiếu đến một hàm trong tệp khác trong cùng một gói, nó sẽ bị lỗi vì bạn đã không yêu cầu Go chạy toàn bộ gói mà bạn bảo nó chỉ chạy một tệp đó.
Bạn có thể nói rằng hãy chạy như một gói toàn bộ bằng cách nhóm các tệp dưới dạng một gói trong quá trình chạy được đánh dấu phẩy theo một số cách. Dưới đây là một số ví dụ (nếu thiết bị đầu cuối của bạn nằm trong thư mục gói của bạn):
go run ./
HOẶC LÀ
go run test1.go test2.go
HOẶC LÀ
go run *.go
Bạn có thể mong đợi hành vi tương tự bằng cách sử dụng lệnh xây dựng và sau khi chạy tệp thực thi được tạo sẽ chạy dưới dạng một gói được nhóm lại, nơi các tệp biết về các chức năng của người khác, v.v. Ví dụ:
go build ./
HOẶC LÀ
go build test1.go test2.go
HOẶC LÀ
go build *.go
Và sau đó chỉ cần gọi tệp thực thi từ dòng lệnh sẽ cung cấp cho bạn kết quả tương tự như sử dụng lệnh chạy khi bạn chạy tất cả các tệp cùng nhau như một gói toàn bộ. Ví dụ:
./test1
Hoặc bất kỳ tên tệp thực thi nào của bạn được gọi khi nó được tạo.
go fmt
gì Giống như trong thiết bị đầu cuối hoặc những gì? Làm thế nào nó cho thấy anh ấy quan tâm đến bất cứ điều gì?