>백엔드 개발 >Golang >GoLang 사용자 정의 패키지 가져오기 문제

GoLang 사용자 정의 패키지 가져오기 문제

王林
王林앞으로
2024-02-12 21:54:08938검색

GoLang 사용자 정의 패키지 가져오기 문제

php 편집기 Xinyi는 GoLang의 일반적인 문제인 사용자 정의 패키지 가져오기 문제를 소개하기 위해 왔습니다. Go 언어 개발에서는 일부 특정 기능을 구현하기 위해 사용자 정의 패키지를 사용해야 하는 경우가 많습니다. 그러나 사용자 정의 패키지를 가져올 때 패키지를 찾을 수 없거나 패키지 이름이 충돌하는 등의 일부 문제가 발생하는 경우가 있습니다. 이 기사에서는 이러한 질문에 대해 자세히 답변하고 개발자가 사용자 정의 패키지 가져오기 문제를 더 잘 처리하고 개발 효율성을 향상시키는 데 도움이 되는 솔루션을 제공합니다.

질문 내용

골랭을 배우다가 문제가 발생했습니다.

저는 go mod init main

를 사용하여 모드 파일을 만들었습니다.

다음으로 아래와 같이 컨트롤러와 라우팅 폴더를 만들었습니다.

으아악

mod 파일에서 모듈은 다음과 같습니다 模块main

이제 컨트롤러를 라우터로 가져오려고 하면 가져오기 오류가 발생합니다.

저는 다음과 같은 일을 해왔습니다. 시도해 보세요 - 1

으아악

오류가 발생합니다invalid import path: "$gopath/controllers"syntax

시도 - 2

으아악

같은 오류

시도 - 3

으아악

controller.go

으아악

router.go

으아악

이런 오류가 발생합니다.

无法导入main/controllers(没有必需的模块提供包“main/controllers”)

이 문제로 인해 3~4시간 동안 갇혀 있었습니다. 누군가 이 컨트롤러를 내 경로로 가져오는 방법을 제안해 주실 수 있나요?

미리 감사드립니다.

솔루션

    수정하여 모듈 경로를 수정하세요.
  1. : go.mod
  2. 으아악
    가져오기 경로 수정:
  1. 으아악
  1. ):controller.go(删除尾随的 ;
  2. 으아악
  1. 목차 변경

    ). contollers 重命名为 controllers 以匹配包名(缺少 r

  2. 삭제

    폴더. vendor

지침:

  1. go에는 특별한 의미가 있습니다. maingolang 사양에서 인용:
완전한 프로그램은

main package라는 가져오지 않은 단일 패키지를 가져온 모든 패키지와 전이적으로 연결하여 생성됩니다. 기본 패키지는 패키지 이름이 main이어야 하며 매개 변수를 사용하지 않고 값을 반환하지 않는 함수 main을 선언해야 합니다.

    점이 없는 가져오기 경로는 표준 라이브러리 및 Go 툴체인용으로 예약되어 있습니다.
  1. cmd/go: 점 없이 모듈 이름 유지 에 대한 설명서를 참조하세요.

위 내용은 GoLang 사용자 정의 패키지 가져오기 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제