[go] 형식화된 입출력과 에러 처리
형식화된 입출력
형식화된 입출력은 데이터를 특정 형식에 맞추어 입출력하는 것을 말합니다. Go에서는 fmt
패키지를 사용하여 형식화된 입출력을 처리합니다.
형식화된 출력
fmt.Printf
함수는 지정된 형식에 맞게 데이터를 출력하는 데 사용됩니다. 예를 들어,
package main
import "fmt"
func main() {
name := "Alice"
age := 30
fmt.Printf("이름: %s, 나이: %d\n", name, age)
}
위의 예제는 name
변수의 값을 문자열로, age
변수의 값을 정수로 출력합니다. %s
와 %d
는 각각 문자열과 정수를 나타내며, 출력 형식에 맞게 데이터를 전달합니다.
형식화된 입력
fmt.Scanf
함수는 지정된 형식에 맞게 입력을 받는 데 사용됩니다. 예를 들어,
package main
import "fmt"
func main() {
var name string
var age int
fmt.Print("이름: ")
fmt.Scanf("%s", &name)
fmt.Print("나이: ")
fmt.Scanf("%d", &age)
}
위의 예제는 사용자로부터 이름과 나이를 입력 받아 name
과 age
변수에 저장합니다.
에러 처리
Go에서는 에러 처리를 위해 error
타입을 사용합니다. 함수는 보통 error
값을 반환하고, 호출자는 이를 검사하여 에러 상황을 처리합니다.
에러 반환하기
함수에서 에러를 반환하려면, error
를 리턴 타입으로 지정하면 됩니다. 예를 들어,
package main
import (
"errors"
"fmt"
)
func divide(x, y float64) (float64, error) {
if y == 0 {
return 0, errors.New("나누는 수가 0입니다")
}
return x / y, nil
}
func main() {
result, err := divide(6, 0)
if err != nil {
fmt.Println("에러 발생:", err)
} else {
fmt.Println("결과:", result)
}
}
위의 예제는 divide
함수에서 두 수를 나누는데, 만약 나누는 수가 0이면 에러를 반환하고, 아니면 나눈 결과를 반환합니다.
에러 처리
에러를 처리할 때는 보통 if err != nil
을 사용하여 에러를 확인하고 처리합니다.
위의 내용은 Go에서의 형식화된 입출력과 에러 처리에 대한 간단한 소개였습니다. 더 자세한 내용은 공식 Go 문서를 참고하시기 바랍니다.