외부 파일
Coddy GO 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 107개 중 1번째.
Go에서는 동일한 패키지 내에서 여러 .go 파일로 코드를 분할할 수 있습니다. 동일한 package 선언을 공유하는 모든 파일은 서로의 함수와 타입에 직접 접근할 수 있습니다 — 별도의 import가 필요하지 않습니다.
// helper.go
package main
func Add(a, b int) int {
return a + b
}동일한 패키지의 다른 파일에서 함수 사용하기
// main.go
package main
import "fmt"
func main() {
result := Add(3, 5)
fmt.Println(result) // 출력: 8
}두 파일 모두 package main을 선언하므로, Add는 별도의 import 없이 main.go에서 사용할 수 있습니다. 이를 통해 코드를 동일한 패키지에 유지하면서 논리적인 파일들로 구성할 수 있습니다.
챌린지
쉬움main.go에서 사용하는 두 개의 함수를 helper.go에 작성하세요:
Add— 두 개의int매개변수를 받아 그 합을 반환합니다Subtract— 두 개의int매개변수를 받아 그 차를 반환합니다
치트 시트
동일한 패키지 내에서 코드를 여러 개의 .go 파일로 나눌 수 있습니다. 동일한 package 선언을 공유하는 모든 파일은 임포트(import) 없이도 서로의 함수와 타입에 직접 접근할 수 있습니다.
// helper.go
package main
func Add(a, b int) int {
return a + b
}// main.go
package main
import "fmt"
func main() {
result := Add(3, 5)
fmt.Println(result) // 출력: 8
}두 파일 모두 package main을 선언하므로, 한 파일에 정의된 함수를 별도의 임포트 문 없이 다른 파일에서 사용할 수 있습니다.
직접 해보기
package main
import "fmt"
func main() {
var a, b int
fmt.Scan(&a, &b)
fmt.Printf("Sum: %d\n", Add(a, b))
fmt.Printf("Difference: %d\n", Subtract(a, b))
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
8에러 처리와 OOP
error 인터페이스사용자 정의 에러 타입에러 래핑 (fmt.Errorf)센티넬 에러errors.Is()와 errors.As()Panic, Defer, Recover요약 - 파일 파서