Menu
Coddy logo textTech

패키지와 임포트

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

모든 Go 파일은 package 선언으로 시작합니다. import 키워드는 Go의 표준 라이브러리에서 패키지를 가져와서 그 함수들을 사용할 수 있게 해줍니다.

단일 패키지 가져오기

import "fmt"

import 블록을 사용하여 여러 패키지를 가져옵니다

import (
    "fmt"
    "math"
    "strings"
)

가져온 패키지의 함수를 패키지 이름을 접두사로 사용하여 사용하세요.

package main

import (
    "fmt"
    "strings"
    "math"
)

func main() {
    upper := strings.ToUpper("hello")
    fmt.Println(upper) // Output: HELLO

    root := math.Sqrt(16)
    fmt.Println(root) // Output: 4
}

일반적인 표준 라이브러리 패키지

"fmt"     // 형식화된 I/O (Print, Scan, Sprintf)
"strings" // 문자열 조작 (ToUpper, Contains, Replace)
"math"    // 수학 함수 (Sqrt, Pow, Pi)
"strconv" // 문자열 변환 (Itoa, Atoi)

패키지의 함수는 packagename.FunctionName을 사용하여 접근합니다. Go는 실제로 사용하는 패키지만 임포트하도록 허용하며, 사용하지 않는 임포트는 컴파일 에러를 발생시킵니다.

challenge icon

챌린지

중급

함수들이 올바르게 작동하도록 utils.go의 import 문을 수정하세요. stringsmath 패키지를 임포트해야 합니다:

  • FormatTextstrings.ToUpper를 사용합니다
  • ContainsWordstrings.Contains를 사용합니다
  • SquareRootmath.Sqrt를 사용합니다

치트 시트

모든 Go 파일은 package 선언으로 시작합니다. Go의 표준 라이브러리에서 패키지를 가져오려면 import 키워드를 사용하세요.

단일 패키지 가져오기:

import "fmt"

import 블록을 사용하여 여러 패키지 가져오기:

import (
    "fmt"
    "math"
    "strings"
)

packagename.FunctionName을 사용하여 가져온 패키지의 함수에 접근합니다:

package main

import (
    "fmt"
    "strings"
    "math"
)

func main() {
    upper := strings.ToUpper("hello")
    fmt.Println(upper) // 출력: HELLO

    root := math.Sqrt(16)
    fmt.Println(root) // 출력: 4
}

일반적인 표준 라이브러리 패키지:

"fmt"     // 형식화된 I/O (Print, Scan, Sprintf)
"strings" // 문자열 조작 (ToUpper, Contains, Replace)
"math"    // 수학 함수 (Sqrt, Pow, Pi)
"strconv" // 문자열 변환 (Itoa, Atoi)

참고: Go는 실제로 사용하는 패키지만 가져올 수 있도록 허용합니다. 사용하지 않는 패키지를 가져오면 컴파일 오류가 발생합니다.

직접 해보기

package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
    "strings"
)

func main() {
    scanner := bufio.NewScanner(os.Stdin)
    scanner.Scan()
    line := scanner.Text()

    parts := strings.Fields(line)
    numStr := parts[len(parts)-1]
    text := strings.Join(parts[:len(parts)-1], " ")
    num, _ := strconv.ParseFloat(numStr, 64)

    fmt.Printf("Upper: %s\n", FormatText(text))
    fmt.Printf("Contains 'world': %t\n", ContainsWord(text, "world"))
    fmt.Printf("Sqrt: %.2f\n", SquareRoot(num))
}
quiz icon실력 점검

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

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