Go로 작업할 때 확립된 규칙을 준수하는 것이 중요합니다. 그러나 이러한 규칙을 효과적으로 구현하기 전에 이해하는 것이 가장 중요합니다. 이 글은 Go의 패키지 구조에 관해 자주 묻는 질문을 다룹니다.
설정: 권장되는 프로젝트 구조에 따라 우리는 있음:
$GOPATH/ src/ github.com/ username/ projectname/ main.go numbers/ rational.go real.go complex.go
main.go:
package main import ( "fmt" "./numbers" ) func main() { fmt.Println(numbers.Real{2.0}) }
질문:
1. package.go 파일
모든 패키지 디렉터리에 package.go 파일이 필요하다는 가정은 잘못된 것입니다. Go에서는 단일 디렉터리 내의 파일이 자동으로 패키지로 그룹화됩니다. package.go 파일을 생성할 필요가 없습니다.
2. 패키지 내에서 파일 가져오기
Go는 파일 가져오기를 지원하지 않습니다. Rational.go, Real.go 및 complex.go와 같은 개별 파일이 아닌 패키지 번호를 직접 가져와야 합니다. 이 예에서는 ./ 접두사를 제거하고 import "github.com/username/projectname/numbers"를 사용합니다.
3. 공유 유형
Real과 같은 유형은 real.go와 같은 패키지 내의 파일에 정의되어야 합니다. 파일이 동일한 패키지에 속하므로 추가 import 문이 필요하지 않습니다. fmt.Println(numbers.Real{2.0})으로 main.go에서 Real 유형에 액세스하는 것이 정확합니다.
위 내용은 Go 패키지 구조: `package.go` 파일이 필요한지, 내부 파일을 가져오는 방법, 파일 전체에 걸쳐 유형에 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!