반응형
%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와 함께 오류를 처리할 때 주로 사용됩니다.
'프로그래밍 일반 > Go 프로그래밍' 카테고리의 다른 글
GORM connection pool (0) | 2024.11.26 |
---|---|
[go] golang의 가비지 콜렉터 (0) | 2024.11.13 |
[go] go-redis와 Redigo 비교 (0) | 2024.11.09 |
[go] %v와 %+v의 차이 (0) | 2024.11.08 |
[go] Context 활용하기 (0) | 2024.11.07 |