> 백엔드 개발 > Golang > Go 언어로 패키지를 사용자 정의하는 방법

Go 언어로 패키지를 사용자 정의하는 방법

풀어 주다: 2020-06-19 17:51:14
앞으로
3738명이 탐색했습니다.

Go 언어로 패키지를 사용자 정의하는 방법

패키지는 함수와 데이터의 모음입니다. package 키워드를 사용하여 패키지를 정의하세요.

주로 Go 소스 코드를 구성하는 데 사용되어 더 나은 재사용성과 가독성을 제공합니다. 패키지는 코드 캡슐화를 제공하므로 Go 애플리케이션을 쉽게 유지 관리할 수 있습니다.

아래에서 사용자 정의 패키지의 인스턴스를 생성합니다.

패키지를 저장할 pac 디렉토리를 생성합니다.

mkdir -p $GOPATH/src/test/pac
cd $GOPATH/src/test/pac
로그인 후 복사

새 파일을 생성합니다. pac.go

package pac

import "fmt"

func Printstr(x string) {
    fmt.Println(x + " is pac")
}
로그인 후 복사

간편한 유지 관리를 위해 패키지 이름과 디렉토리 이름은 여기에서 일관됩니다.

사용자 정의 패키지를 호출하는 새 데모.go를 생성하세요

$GOPATH/src/test 디렉토리에 생성하세요

package main

import "pac"

func main() {
    pac.Printstr("this")
}
로그인 후 복사

Run

go run demo.go
로그인 후 복사
로그인 후 복사

이것이 성공을 증명하는 pac 출력

위의 예에서 파일을 소개하세요 deco.go와 패키지 파일 pac.go는 동일한 디렉터리에 있지 않으며 동일한 패키지에 속하지 않습니다. 그렇다면 동일한 패키지에 속하고 동일한 디렉터리에 있는 두 파일에 액세스하는 방법은 무엇입니까? 아래 예를 참조하십시오.

Create pac2.go

$GOPATH/src/test/pac 디렉토리에서

package pac

import "fmt"

func printstr2 (x string)  {
    fmt.Println(x + " is pac2")
}
로그인 후 복사

pac.go를 수정하고 pac.go가 pac2.go를 호출하도록 합니다

package pac

func Printstr(x string) {
    //fmt.Println(x + " is pac")
    printstr2(x)
}
로그인 후 복사

Demo.go를 실행

go run demo.go
로그인 후 복사
로그인 후 복사

출력 결과: pac2

Summary

1입니다. 프로젝트 디렉터리가 GOPATH 환경 변수로 설정된 경로에 없으면 프로젝트를 GOPATH 경로로 이동하거나 GOPATH에서 프로젝트 경로를 설정해야 합니다.

demo.go:3:8: cannot find package "pac" in any of:
    /usr/lib/golang/src/pac (from $GOROOT)
    /home/go/src/pac (from $GOPATH)
로그인 후 복사

2. import 문 사용은 폴더 이름입니다.

3. 패키지 파일의 함수 이름 첫 글자는 외부에서 호출할 수 있도록 대문자로 표기합니다. 동일한 패키지의 모든 파일이 서로 액세스하는 경우 함수 이름의 첫 글자가 대문자인지 소문자인지는 중요하지 않습니다.

4. 메인 패키지는 동일한 메인 패키지에 있는 동일한 디렉터리나 다른 파일에 액세스할 수 없습니다.

5. 폴더 이름과 패키지 이름은 반드시 동일할 필요는 없습니다. 유지 관리가 쉽도록 일관성을 유지하는 것이 좋습니다.

6. 사용자 정의 패키지를 호출하려면 위의 예와 같이 패키지 이름과 함수 이름을 사용하세요.

pac.Printstr("this")
로그인 후 복사

더 많은 관련 지식을 보려면 go 언어 튜토리얼column

을 참고하세요.

위 내용은 Go 언어로 패키지를 사용자 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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