Go 비트플래그 warnings 예시

Jmnote (토론 | 기여)님의 2024년 4월 5일 (금) 02:15 판 (새 문서: ==개요== ;Go 이진수 warnings 예시 <syntaxhighlight lang='go' run> package main import ( "errors" "fmt" ) const ( Warning1 = 1 << iota Warning2 Warning3 ) var warningNa...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

개요

Go 이진수 warnings 예시
package main

import (
	"errors"
	"fmt"
)

const (
	Warning1 = 1 << iota
	Warning2
	Warning3
)

var warningNames = map[int]string{
	Warning1: "Warning 1",
	Warning2: "Warning 2",
	Warning3: "Warning 3",
}

func main() {
	result, warnings, err := process()

	fmt.Println("Result:", result)

	if warnings != 0 {
		fmt.Println("Warnings occurred:")
		for w, name := range warningNames {
			if warnings&w != 0 {
				fmt.Println("-", name)
			}
		}
	}

	if err != nil {
		fmt.Println("Error:", err)
	}
}

func process() (int, int, error) {
	result := 42
	warnings := Warning1 | Warning3
	var err error

	return result, warnings, err
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}