20250116

패키지 만들고, 패키지 가져와 사용하기 -golnag

패키지 만들고, 패키지 가져와 사용하기 -golnag


package(패키지)를 만들때

- 프로젝트 폴더안에, 디렉토리를 하나 생성합니다.(mkdir mypkg)

- 디렉토리 이름은, 만들 패키지 파일이름(mypkg.go)과 같아야 합니다.(import 하기 편함)

  디렉토리이름, 패키지이름 이 일치해야, 에러없는 함수 호출이 가능합니다.

- 패키지 폴더이름 및 파일이름은, 내용을 이해하기 쉬운 이름으로 생성.

// mypkg/mypkg.go 관리하기 편하게 만든 폴더안에, 같은 이름으로
package mypkg //여기 이름과, 실제 파일이름이 같아야 문제발생이 없습니다.

import "fmt" //출력관련 패키지 불러오기

// 패키지에서 사용할 함수, Hello에 첫글자가 대문자여야 외부노출 됩니다.
func Hello(name string) {
fmt.Printf("Hello, %s!\n", name)
}

- 패키지 파일을 저장합니다.


package(패키지)를 가져와서 사용할때

// main.go
package main

import (
"프로젝트폴더이름/mypkg" // 패키지 경로. 프로젝트이름(폴더)가 test1 이면, "test1/mypkg"
// 프로젝트폴더 안에 mypkg폴더안에서 찾으라는 뜻
)

func main() {
mypkg.Hello("Go Dev") // 패키지 함수 호출방법: 패키지파일이름.첫글짜 대문자 함수
}

파일을 먼저 저장합니다.

go mod init 프로젝트이름(프로젝트폴더이름)

go mod tidy

go run main.go


문제 발생시: 프로젝트폴더 안에 go.mod 파일을 열어서, 프로젝트 이름 체크

module test1 // 프로젝트 폴더 또는 프로젝트이름

go 1.22.2


디렉토리 구조

프로젝트폴더이름(test1) / main.go

프로젝트폴더이름(test1) / go.mod

프로젝트폴더이름(test1) / mypkg 폴더

프로젝트폴더이름(test1) / mypkg 폴더 / mypkg.go