goLang 读取Int

windows下字节序和网络的相反

func readInt32(conn net.Conn) int32 {
    num_byte := make([] byte, 4)
    conn.Read(num_byte)
    var value int32 = 0
//      // windows
//     byte2 := num_byte[2]
//     byte3 := num_byte[3]
//     num_byte[3] = num_byte[0]
//     num_byte[0] = byte3
//     num_byte[2] = num_byte[1]
//     num_byte[1] = byte2
//      // windows

    
// windows
    num_byte[0],num_byte[1],num_byte[2],num_byte[3] = num_byte[3],num_byte[2],num_byte[1],num_byte[0]

     for i := 0; i < 4; i++ {
        shift := uint32((4 - 1 - i) * 8)
        value = value + (int32(num_byte[i])&0x000000FF)<<shift
    }
     return value
}

你可能感兴趣的:(goLang 读取Int)