Menu
Coddy logo textTech

Go 워크스페이스와 모듈

Coddy GO 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 107개 중 2번째.

Go 모듈은 관련된 Go 파일들의 집합입니다. 프로젝트 루트에 있는 go.mod 파일은 모듈 이름과 Go 버전을 선언합니다.

터미널 명령어로 모듈을 초기화합니다

go mod init myapp

이것은 go.mod 파일을 생성합니다

module myapp

go 1.21

간단한 프로젝트 구조

myapp/
├── go.mod
├── main.go
└── helper.go

모든 파일이 동일한 패키지를 공유합니다

// helper.go
package main

func Double(n int) int {
    return n * 2
}
// main.go
package main

import "fmt"

func main() {
    result := Double(5)
    fmt.Println(result) // 출력: 10
}

go.mod 파일은 프로젝트를 모듈로 정의합니다. 동일한 package를 선언하는 모든 .go 파일은 서로의 함수에 직접 접근할 수 있습니다. go.mod의 모듈 이름은 프로젝트를 식별합니다.

challenge icon

챌린지

쉬움

동일한 모듈 및 패키지 내에서 mathhelper.go를 완성하세요:

  • Double — n * 2를 반환합니다
  • Triple — n * 3을 반환합니다
  • Square — n * n을 반환합니다

치트 시트

Go 모듈은 프로젝트 루트에 있는 go.mod 파일에 의해 선언된 관련 Go 파일들의 집합입니다.

모듈 초기화:

go mod init myapp

이것은 go.mod 파일을 생성합니다:

module myapp

go 1.21

같은 패키지에 있는 모든 .go 파일은 서로의 함수에 직접 접근할 수 있습니다:

// helper.go
package main

func Double(n int) int {
    return n * 2
}
// main.go
package main

import "fmt"

func main() {
    result := Double(5)
    fmt.Println(result) // 출력: 10
}

직접 해보기

package main

import "fmt"

func main() {
    var n int
    fmt.Scan(&n)

    fmt.Printf("Double: %d\n", Double(n))
    fmt.Printf("Triple: %d\n", Triple(n))
    fmt.Printf("Square: %d\n", Square(n))
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

객체 지향 프로그래밍의 모든 레슨