"Go 비트플래그 warnings 예시"의 두 판 사이의 차이

(새 문서: ==개요== ;Go 이진수 warnings 예시 <syntaxhighlight lang='go' run> package main import ( "errors" "fmt" ) const ( Warning1 = 1 << iota Warning2 Warning3 ) var warningNa...)
 
 
(같은 사용자의 중간 판 4개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;Go 이진수 warnings 예시
;Go 비트플래그 warnings 예시


<syntaxhighlight lang='go' run>
<syntaxhighlight lang='go' run>
6번째 줄: 6번째 줄:


import (
import (
"errors"
"fmt"
"fmt"
)
)
49번째 줄: 48번째 줄:
}
}
</syntaxhighlight>
</syntaxhighlight>
==같이 보기==
* [[비트 플래그]]


[[분류: go]]
[[분류: go]]
[[분류: 비트 플래그]]

2024년 4월 5일 (금) 02:20 기준 최신판

1 개요[ | ]

Go 비트플래그 warnings 예시
package main

import (
	"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
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}