티스토리 뷰

반응형


Go 언어에서 fmt 패키지는 형식화된 I/O를 처리하는 데 사용되는 기본 패키지입니다. fmt는 문자열 형식화, 콘솔 출력, 표준 입력을 처리하는 다양한 기능을 제공합니다. C 언어의 printf와 유사한 역할을 하지만, Go 언어의 특성에 맞춰 더 간단하고 사용하기 쉽게 설계되었습니다.

Go 언어의 fmt 패키지

fmt 패키지는 형식화된 I/O를 위해 사용되며, 주로 터미널에 텍스트를 출력하거나, 입력을 받는 데 사용됩니다. 다음은 fmt 패키지의 주요 함수와 사용 예제입니다.

1. 출력 함수

fmt.Printfmt.Println

  • fmt.Print(a ...interface{}):
    인자들을 형식화하여 출력합니다. 출력 후 줄바꿈을 하지 않습니다.

  • fmt.Println(a ...interface{}):
    인자들을 형식화하여 출력하고, 출력 후 자동으로 줄바꿈을 합니다.

package main

import (
    "fmt"
)

func main() {
    fmt.Print("Hello, ")          // "Hello, " 출력
    fmt.Print("World!")           // "World!" 출력
    fmt.Println("Welcome to Go!") // "Welcome to Go!" 출력 후 줄바꿈
}

fmt.Printf

  • fmt.Printf(format string, a ...interface{}):
    형식 지정 문자열(format string)을 사용하여 인자들을 형식화한 후 출력합니다. C의 printf와 비슷합니다.
package main

import (
    "fmt"
)

func main() {
    name := "John"
    age := 30

    // 형식화된 출력
    fmt.Printf("My name is %s and I am %d years old.\n", name, age)
}
  • 형식 지정 문자열에서 사용할 수 있는 주요 서식 문자는 다음과 같습니다:
    • %s: 문자열
    • %d: 10진수 정수
    • %f: 부동 소수점 숫자
    • %t: 불리언
    • %v: 변수의 기본 형식으로 출력
    • %+v: 변수의 필드 이름과 값을 함께 출력
    • %#v: Go 언어 문법에 맞는 형식으로 출력

fmt.Sprintf

  • fmt.Sprintf(format string, a ...interface{}) string:
    형식 지정 문자열을 사용하여 형식화된 문자열을 반환합니다. 출력하지 않고, 문자열을 변수로 저장할 때 유용합니다.
package main

import (
    "fmt"
)

func main() {
    name := "Alice"
    greeting := fmt.Sprintf("Hello, %s!", name)
    fmt.Println(greeting) // "Hello, Alice!" 출력
}

2. 입력 함수

fmt.Scanfmt.Scanln

  • fmt.Scan(a ...interface{}) (n int, err error):
    표준 입력에서 값을 읽어 변수에 저장합니다. 공백을 기준으로 여러 개의 값을 읽어들입니다.

  • fmt.Scanln(a ...interface{}) (n int, err error):
    표준 입력에서 값을 읽어 변수에 저장합니다. 줄바꿈을 기준으로 입력을 종료합니다.

package main

import (
    "fmt"
)

func main() {
    var name string
    var age int

    // 입력 받기
    fmt.Print("Enter your name: ")
    fmt.Scan(&name) // 이름 입력
    fmt.Print("Enter your age: ")
    fmt.Scanln(&age) // 나이 입력

    fmt.Printf("Hello, %s! You are %d years old.\n", name, age)
}

3. 에러 출력 함수

fmt.Fprintffmt.Fprintln

  • fmt.Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error):
    지정한 출력 스트림에 형식화된 문자열을 출력합니다. 예를 들어, 에러 메시지를 os.Stderr에 출력할 수 있습니다.

  • fmt.Fprintln(w io.Writer, a ...interface{}) (n int, err error):
    지정한 출력 스트림에 형식화된 문자열을 출력하고 줄바꿈을 추가합니다.

package main

import (
    "fmt"
    "os"
)

func main() {
    // 에러 메시지를 표준 에러 스트림에 출력
    fmt.Fprintf(os.Stderr, "An error occurred: %s\n", "invalid input")
}

4. 기타 유용한 함수

  • fmt.Errorf:
    형식화된 문자열을 사용하여 에러 객체(error)
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
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
글 보관함