Go에서 프로그래밍을 시작했을 때 저는 이미 첫 번째 프로그래밍 언어인 C에 대한 탄탄한 기초를 갖추고 있었습니다. Go는 단순성부터 성능까지 C와 많은 공통점을 갖고 있기 때문에 이는 나에게 많은 도움이 되었습니다. 키워드가 적고 복잡성이 적으며 학습 곡선이 더 원활합니다. 그런데 나를 조금 당황하게 만든 부분이 나타났습니다: 패키지, 모듈 및 go mod와 같은 것.
저는 다음과 같이 생각했던 것을 기억합니다. "그냥 간단한 프로그램을 컴파일하고 싶은데 왜 패키지에 대해 걱정해야 합니까?" 모듈은 어떻습니까? 그것은 갑자기 나타나는 것처럼 보이며 모두가 종속성을 관리하는 데 필수적이라고 말합니다. 하지만 걱정하지 마세요. 이미 프로그래밍했지만 아직 Go에서 이러한 내용을 익히지 못한 사람들을 위해 모든 것을 간단한 방법으로 설명하겠습니다.
첫째, Go의 패키지 개념은 C에서 본 개념과 매우 유사합니다. 패키지를 코드를 구성하고 재사용하는 방법으로 생각하세요. C에서는 함수를 .h 및 .c 파일로 분리할 때 Go에서도 비슷한 작업을 수행하지만 패키지를 사용합니다. 각 패키지는 기능을 그룹화하고 코드의 다른 부분에서 필요한 것을 가져올 수 있습니다.
예를 들어 모든 기능을 단일 파일에 포함하는 대신 패키지로 분할할 수 있습니다.
package main import "fmt" func main() { fmt.Println("Hello, Go!") }
여기서 fmt는 I/O 포맷을 관리하는 표준 라이브러리 패키지입니다. 가져올 때 해당 기능에 액세스합니다. 또한 동일한 방식으로 자신만의 패키지를 만들 수 있으므로 코드 유지 관리 및 구성이 더 쉬워집니다.
이제 모듈 부분입니다. 여기서 상황이 흥미로워집니다. 패키지가 C의 라이브러리와 같다면 모듈은 이 모든 것을 관리하는 "수퍼 패키지"와 같습니다. 이를 통해 프로젝트는 체계적이고 안전한 방식으로 어려움 없이 타사 패키지를 다운로드하고 사용할 수 있습니다.
go mod는 이러한 모듈을 사용하도록 프로젝트를 구성하는 데 도움이 되는 명령입니다. go mod init을 사용하여 새 프로젝트를 시작하면 기본적으로 Go가 종속성을 관리하는 데 사용할 구성을 생성하게 됩니다. 이는 프로젝트에 필요한 패키지를 자동으로 다운로드한다는 의미입니다(C에서처럼 직접 다운로드할 필요 없이).
예를 들어:
go mod init meu-projeto go get github.com/pacote/fantastico
이 명령을 사용하면 Go는 프로젝트의 종속성에 대한 정보를 저장하는 go.mod 파일을 생성합니다. 그런 다음 go build를 실행하면 Go는 걱정할 필요 없이 인터넷에서 직접 컴파일하는 데 필요한 모든 것을 다운로드합니다.
코드를 패키지로 구성하고 모듈을 사용하여 종속성을 관리하면 Go가 훨씬 더 효율적이 됩니다. 처음에는 혼란스러워 보일 수도 있지만(저도 바로 이해하지 못했습니다), 일단 익숙해지면 패키지와 모듈이 코드를 더 확장 가능하고 깔끔하게 만들어준다는 사실을 깨닫게 될 것입니다. 특히 대규모 프로젝트에서는 모든 것이 더 잘 진행됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3