> 백엔드 개발 > Golang > 향상된 코드 구성을 위해 Go에서 '내부' 패키지를 어떻게 효과적으로 사용할 수 있나요?

향상된 코드 구성을 위해 Go에서 '내부' 패키지를 어떻게 효과적으로 사용할 수 있나요?

DDD
풀어 주다: 2024-12-08 17:29:09
원래의
525명이 탐색했습니다.

How Can I Effectively Use

Go에서 "내부" 패키지 사용

Go의 "내부" 패키지 메커니즘을 사용하면 코드를 다른 프로젝트에 보이지 않는 자체 포함 모듈로 구성할 수 있습니다. 사용법을 이해하면 코드 구조와 유지 관리성이 향상됩니다.

구조 및 가져오기 경로

다음 프로젝트 구조를 고려하세요.

project/
  internal/
    foo/
      foo.go # package foo
    bar/
      bar.go # package bar
  main.go
로그인 후 복사

main.go에서 "내부" 패키지를 가져오려면 상대 패키지를 사용하는 것이 중요합니다. 경로:

import (
  "project/internal/foo"
  "project/internal/bar"
)
로그인 후 복사

이것은 "내부" 패키지가 project/ 디렉터리 외부에 표시되지 않기 때문에 작동합니다. 그러나 전체 경로(예: import "foo")를 사용한 가져오기는 실패합니다.

Modules 및 go.mod

Go 모듈을 사용하여 프로젝트 디렉터리 배치 $GOPATH/src 외부에서는 모듈 종속성을 정의하기 위해 go.mod 파일이 필요합니다. 프로젝트 루트에 go.mod 파일을 만듭니다.

module project

go 1.14

require internal/bar v1.0.0
replace internal/bar => ./internal/bar
    
require internal/foo v1.0.0
replace internal/foo => ./internal/foo
로그인 후 복사

이 경우 내부/bar 및 내부/foo는 별도의 모듈로 처리됩니다. 바꾸기 지시문은 가져오기가 로컬 디렉터리로 확인되도록 합니다.

Execution

이제 main.go 파일을 실행하면 다음이 인쇄됩니다.

Hello from Bar
Hello from Foo
로그인 후 복사

이는 "내부" 패키지를 사용하여 코드를 캡슐화하고 깔끔한 프로젝트를 유지하는 방법을 보여줍니다. 구조입니다.

위 내용은 향상된 코드 구성을 위해 Go에서 '내부' 패키지를 어떻게 효과적으로 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿