프로그래밍 일반/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와 함께 오류를 처리할 때 주로 사용됩니다.

 

 

'프로그래밍 일반 > 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