优先级从上往下从大到小, 但是fallthrough(继续向下走case)
switch执行速度要比if快, 如果拿switch当if用, 执行速度一样

// Switch
switch a {
        case 1:
        case 2:
        case 3,4: // 可以让case选择多个值
        break // 打破Switch 
}
switch { // Switch当If else使用
        case a > 1:
        case a == 0:
                fallthrough // 必须在代码块的结尾, 继续往下走case而不跳出
}
switch a > 1 { // 还能放Bool
        case true:
        case false:
}

// 甚至还能放Type=.=好玩
// 以下是从Golang官方Github找到的一个经典案例

// Unpack 4 bytes into uint32 to repack into base 85 5-byte.
var v uint32
switch len(src) {
default:
 v |= uint32(src[3])
 fallthrough
case 3:
 v |= uint32(src[2]) << 8
 fallthrough
case 2:
 v |= uint32(src[1]) << 16
 fallthrough
case 1:
 v |= uint32(src[0]) << 24
}