Note math.MaxUint8과 fmt.Errorf() 함수
• math.MaxUint8
math 패키지에 정의된 uint8 타입의 최댓값(255)이다.
math 패키지에는 타입별 최댓값이 상수로 정의되어 있다.
const ( MaxInt8 = 1<<7 - 1 MinInt8 = -1 << 7 MaxInt16 = 1<<15 - 1 MinInt16 = -1 << 15 MaxInt32 = 1<<31 - 1 MinInt32 = -1 << 31 MaxInt64 = 1<<63 - 1 MinInt64 = -1 << 63 MaxUint8 = 1<<8 - 1 MaxUint16 = 1<<16 - 1 MaxUint32 = 1<<32 - 1 MaxUint64 = 1<<64 - 1 )
• fmt.Errorf() 함수
주어진 문자열을 기반으로 error를 만들어 반환한다.
다음 연산자는 모든 숫자 타입에 사용할 수 있다
+x |
-x |
x++ |
x-- |
x += y |
x -= y |
x *= y |
x /= y |
x + y |
x - y |
x * y |
x / y |
증감 연산자(++, --)는 후치 연산으로만 사용할 수 있고 반환 값은 없다. 이는 증감 연산자의 과도한 사용으로 코드의 가독성이 떨어지는 것을 막기 위해서다. 표현식에 증감 연산자를 사용하거나 증감 연산자로 전치 연산을 하면 코드가 이해하기 어려워진다. 다음 코드는 모두 Go에서 사용할 수 없는 코드이다.
++x // 컴파일 에러 y = x++ // 컴파일 에러 print(x++) // 컴파일 에러 print(++x) // 컴파일 에러 if x++ > 0 { // 컴파일 에러 ... }
다음 연산자는 정수 타입에만 사용할 수 있다.
^x |
x %= y |
x &= y |
x |= y |
x ^= y |
x &^= y |
x >>= u |
x <<= u |
x % y |
x & y |
x | y |
x ^ y |
x &^ y |
x << u |
x >> u |