프로그래밍 일반/Go 프로그래밍
[go] golang의 %w
지노윈
2024. 11. 14. 10:52
반응형
%w
%w는 주로 fmt.Errorf 함수에서 오류(wrapping errors)를 감쌀 때 사용됩니다.
Go 1.13에서 도입된 기능으로, 새로운 오류를 생성하면서 기존 오류를 감싸기(wrap) 위해 사용합니다.
%w는 fmt.Printf와 같은 함수에서 직접적으로 사용되지 않으며, 주로 fmt.Errorf와 함께 사용됩니다.
package main
import (
"errors"
"fmt"
)
func main() {
originalErr := errors.New("original error")
wrappedErr := fmt.Errorf("new context: %w", originalErr)
fmt.Println(wrappedErr) // new context: original error
// 원래 오류를 감싸는지 확인
if errors.Is(wrappedErr, originalErr) {
fmt.Println("The wrapped error contains the original error")
}
}
%w는 오류 감싸기(wrapping errors) 용도로 사용됩니다. fmt.Printf에서 %w는 직접 사용할 수 없고, fmt.Errorf와 함께 오류를 처리할 때 주로 사용됩니다.