티스토리 뷰
반응형
Go 언어에서는 여러 파일에 걸쳐 코드를 작성할 수 있으며, 서로 다른 파일에 정의된 함수나 변수를 재사용할 수 있습니다.
이를 위해 Go는 패키지(package)라는 개념을 사용합니다. 파일이 같은 패키지에 속해 있다면, 다른 파일의 함수나 변수를 쉽게 호출할 수 있습니다.
Go 언어에서 다른 파일의 함수 사용하기
1. 같은 패키지 내에서 다른 파일의 함수 사용하기
Go 언어에서는 하나의 디렉토리 내의 모든 파일이 동일한 패키지로 간주됩니다. 따라서 동일한 디렉토리 내에 있는 파일 간에는 함수를 직접 호출할 수 있습니다.
예제: 같은 패키지 내에서 함수 사용하기
1. main.go
파일:
package main
import "fmt"
func main() {
// 같은 패키지 내의 함수 호출
message := GetMessage()
fmt.Println(message) // 출력: Hello from another file!
}
2. utils.go
파일:
package main
// 다른 파일에 정의된 함수
func GetMessage() string {
return "Hello from another file!"
}
- 설명: 두 파일 모두 동일한 디렉토리에 위치하며,
package main
으로 동일한 패키지에 속해 있습니다. 따라서main.go
에서utils.go
에 정의된GetMessage
함수를 직접 호출할 수 있습니다.
2. 다른 패키지의 함수 사용하기
다른 디렉토리에 있는 파일은 보통 다른 패키지로 간주됩니다. 이러한 경우, 해당 패키지를 임포트(import)하여 함수나 변수를 사용할 수 있습니다.
예제: 다른 패키지의 함수 사용하기
1. main.go
파일 (메인 프로그램):
package main
import (
"fmt"
"example/utils" // utils 패키지를 임포트
)
func main() {
// 다른 패키지의 함수 호출
message := utils.GetMessage()
fmt.Println(message) // 출력: Hello from another package!
}
2. utils/utils.go
파일 (별도의 패키지):
package utils
// utils 패키지에 정의된 함수
func GetMessage() string {
return "Hello from another package!"
}
- 설명:
utils.go
파일은utils
라는 다른 패키지에 정의되어 있습니다.main.go
파일에서utils
패키지를 임포트한 후,utils.GetMessage()
형식으로 패키지 이름과 함께 함수를 호출합니다.
3. 패키지 사용 시 주의사항
- 패키지 이름: 각 파일의 첫 번째 줄에는
package
키워드로 패키지 이름을 지정해야 합니다. - 함수 접근 제어: Go 언어에서는 함수나 변수의 이름이 대문자로 시작하면 공개 (exported)된 것으로 간주되어 다른 패키지에서 사용할 수 있습니다. 소문자로 시작하면 비공개 (unexported)된 것으로 간주되어 해당 패키지 내부에서만 사용할 수 있습니다.
예제: 함수 접근 제어
1. utils.go
파일에서 공개 함수와 비공개 함수:
package utils
// 공개된 함수 (대문자로 시작)
func GetMessage() string {
return "Hello from exported function!"
}
// 비공개 함수 (소문자로 시작)
func helperFunction() string {
return "This is an unexported function."
}
- 설명:
GetMessage
함수는 대문자로 시작하여 다른 패키지에서도 접근할 수 있지만,helperFunction
함수는 소문자로 시작하여 동일한 패키지 내부에서만 접근할 수 있습니다.
4. 패키지 설치 및 사용
Go에서 외부 패키지를 사용하는 경우, go get
명령어를 사용하여 패키지를 설치할 수 있습니다. 예를 들어, github.com/user/repo
라는 외부 패키지를 사용하려면 다음과 같이 설치합니다.
go get github.com/user/repo
그런 다음, Go 코드에서 해당 패키지를 임포트하여 사용할 수 있습니다.
요약
- 같은 패키지에 속한 파일 간에는 별도의 임포트 없이 함수를 호출할 수 있습니다.
- 다른 패키지의 함수를 사용하려면
import
키워드를 통해 패키지를 임포트한 후, 패키지명.함수명 형태로 호출합니다. - 공개/비공개 함수는 함수명 첫 글자의 대소문자에 따라 결정됩니다.
반응형
'프로그래밍 > golang' 카테고리의 다른 글
go에서 mod파일 사용하는 방법 (0) | 2024.09.14 |
---|---|
Go에서 go build 명령어 사용하는 법 (1) | 2024.09.14 |
go에서 구조체 초기화 하는 법 (0) | 2024.09.13 |
go언어에서 const 상수에 대해 알아보자. (0) | 2024.09.13 |
go에서 배열 초기화 방법에 대해 알아보자 (0) | 2024.09.13 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 생각
- Python
- golang
- 부동산
- Backend
- 파이썬
- HTML
- 스핀락
- Frontend
- 트렌드
- 주식
- reactjs
- Java
- 투자
- 유튜브
- Spring
- JSX
- go
- Windows
- CSS
- Linux
- JavaScript
- SWiFT
- WinAPI
- react
- frida
- 커널드라이버
- ChatGPT
- 예제
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함