Go语言实现机器大小端判断代码分享

golang语言如何判断机器的大小端?

如下代码供参考:

代码如下:

package main  
 
import (  
    "fmt" 
    "unsafe" 
)  
 
const N int = int(unsafe.Sizeof(0))  
 
func main() {  
    x := 0x1234  
    p := unsafe.Pointer(&x)  
    p2 := (*[N]byte)(p)   
    if p2[0] == 0 {  
        fmt.Println("本机器:大端")  
    } else {  
        fmt.Println("本机器:小端")  
    }  
}

(0)

相关推荐

  • GO语言文件的创建与打开实例分析

    本文实例分析了GO语言文件的创建与打开用法.分享给大家供大家参考.具体分析如下: 文件操作是个很重要的话题,使用也非常频繁,熟悉如何操作文件是必不可少的.Golang 对文件的支持是在 os package 里,具体操作都封装在 type File struct {} 结构体中. 一.func Open(name string) (file *File, err error) 再简单不过了,给一个路径给它,返回文件描述符,如果出现错误就会返回一个 *PathError. 这是一个只读打开模式,实

  • Go语言使用MySql的方法

    本文实例讲述了Go语言中使用MySql的方法.分享给大家供大家参考.具体如下: 此代码需要先安装mysql的go语言驱动. 首先安装mysql的go语言驱动: 复制代码 代码如下: go get github.com/ziutek/mymysql/godrv 示例代码如下: 复制代码 代码如下: package users import (     "database/sql"     "fmt"     _ "github.com/ziutek/mymy

  • Go语言实现AzDG可逆加密算法实例

    本文实例讲述了Go语言实现AzDG可逆加密算法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "fmt"  "crypto/md5"  "encoding/base64"  "time" ) var cipher = "密鑰" var h = md5.New() func cipherEncode(sourceText string) stri

  • Go语言通过smtp发送邮件的方法

    本文实例讲述了Go语言通过smtp发送邮件的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "net/smtp"  "fmt"  "strings" ) /*  * user : example@example.com login smtp server user  * password: xxxxx login smtp server password  * host: smt

  • Go语言文件操作的方法

    本文实例讲述了Go语言文件操作的方法.分享给大家供大家参考.具体如下: 关闭文件: 复制代码 代码如下: func (file *File) Close() os.Error {     if file == nil {         return os.EINVAL     }     e := syscall.Close(file.fd)     file.fd = -1 // so it can't be closed again     if e != 0 {         retu

  • GO语言常用的文件读取方式

    本文实例讲述了GO语言常用的文件读取方式.分享给大家供大家参考.具体分析如下: Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以贴在此处便后速查. 一次性读取 小文件推荐一次性读取,这样程序更简单,而且速度最快. 复制代码 代码如下: func ReadAll(filePth string) ([]byte, error) {  f, err := os.Open(filePth)  if err != nil {   return nil, err  } return iouti

  • Go语言判断指定文件是否存在的方法

    本文实例讲述了Go语言判断指定文件是否存在的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main    import (     "fmt"     "os" )    func main() {     f, err := os.Open("dotcoo.com.txt")     if err != nil && os.IsNotExist(err) {         fmt.Pri

  • Go语言实现定时器的方法

    本文实例讲述了Go语言实现定时器的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "fmt"  "time" ) func testTimer1() {  go func() {   fmt.Println("test timer1")  }() } func testTimer2() {  go func() {   fmt.Println("test timer2&

  • Go语言实现机器大小端判断代码分享

    golang语言如何判断机器的大小端? 如下代码供参考: 复制代码 代码如下: package main     import (       "fmt"      "unsafe"  )     const N int = int(unsafe.Sizeof(0))     func main() {       x := 0x1234       p := unsafe.Pointer(&x)       p2 := (*[N]byte)(p)     

  • C语言实现静态版通讯录的代码分享

    目录 前言 通讯录设计的关键思想点分析 通讯录界面(meun)设计 增加信息功能实现代码 删除信息功能实现代码 查询信息功能实现代码 修改信息功能实现代码 按年龄升序排序信息功能实现代码 显示信息功能实现代码 通讯录完整代码 测试过程展示 前言 哈喽各位友友们,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!我仅已此文,手把手带领大家在学习C语言知识的同时,并实现一个静态版的通讯录!主要运用了结构体,一维数组,函数,分支与循环语句等等知识,以及分文件书写项目思想.都是精华内容,可不

  • C语言实现的学生选课系统代码分享

    好久没玩过C语言了,上一次还是在大二的时候...废话不多说,这里有一个C语言实现的学生选课系统代码,分享给大家,具体如下: #include<stdio.h> #include<stdlib.h> int N1,N2,kk1,kk2,kk3; struct couse * head1; struct student * head2; struct couse//课程信息结构体 { int num1; char name1[20]; int score; int nelepeo; /

  • 判断机器大小端的两种实现方法

    第一种方法 思路:利用指针的强制类型转换 复制代码 代码如下: #include <stdio.h> int main(void){    int data1 = 0x12345678;   int i;   for(i=0; i<4; i++)  {       printf("%#x ----->%p\n",*((char *)&data1 + i),(char *)&data1 + i);   }     return 0;} 从输出的结果

  • Javascript实现获取窗口的大小和位置代码分享

    在Javascript中可以使用OuterWidth,OuterHeight 获取浏览器的大小.用 innerWidth,innerHeight 来获取窗口的大小(除去浏览器边框部分).对于IE6 及之前版本,要区分是标准模式,还是混杂模式.标准模式使用document.documentElement.clientWidth,document.documentElement.clientHeight:混杂模式使用document.body 的clientWidth,clientHeight. 复

  • c语言实现系统时间校正工具代码分享

    复制代码 代码如下: //*******************************************************************//Time Protocol是一种非常简单的应用层协议.它返回一个未格式化的32位二进制数字, //这个数字描述了从1900年1月1日午夜到现在的秒数.服务器在端口37监听协议请求,以 //TCP/IP或者UDP/IP格式返回响应.将服务器的返回值转化为本地时间是客户端程序的责任. //这里使用的时间服务器是129.132.2.21,更

  • C++中函数指针详解及代码分享

    函数指针 函数存放在内存的代码区域内,它们同样有地址.如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,如同数组的名字就是数组的起始地址. 1.函数指针的定义方式:data_types (*func_pointer)( data_types arg1, data_types arg2, ...,data_types argn); c语言函数指针的定义形式:返回类型 (*函数指针名称)(参数类型,参数类型,参数类型,-); c++函数指针的定义形式:返回类型 (类名

  • 用C语言程序判断大小端模式

    1.大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中:小端模式相反 2.为什么有大小端之分??? 因为在计算机系统中,存储是以字节为单位的,每个地址单元都对应着一个字节,一个字节=8bit.在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器).对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,如何安排多个字节的存储,这就有了大端存储模式和小端存储模式 3.各自的优势: 小端

  • C语言进阶几分钟带你理解大小端存储模式

    目录 正片开始 共用体原理 引申一下 字节顺序 大小端存储 共用体判断大小端 正片开始 C语言中数据类型的存储是较为严谨的,一块空间只能存储一种数据类型,要知道内存这个东西,在早期可是非常珍贵的. 尤其对于那些性能不好计算机更是如此,比如 Office1997,操作系统为Windows95 ,奔腾1的cpu,内存只有128M.就这么绿豆点大的存储空间,要想达到节约,利用最大化就必须在同一块空间中存入不同类型数据. 所以共用体的概念就随之产生,将几种不同类型的内容覆盖到同一内存单元,之前在我的一篇

  • C语言编程大小端问题示例详解教程

    目录 如何理解大小端 大小端的基本概念 大小端是如何影响数据的存取的 今天想给大家分享的,是数据存储中的大小端问题,今天的分享主要分为三个部分,分别是如何理解大小端,大小端的基本概念以及大小端是如何影响数据存取的. 如何理解大小端 首先先带大家了解一个权值的概念. 对于多位数,处在某一位上的"i"所表示的数值的大小,称为该位的位权,可以简单理解为权值. 权值大的即为高权值位,权值小的即为低权值位,例如 0x010001,从左边起第一个1表示的是1*2^7,第二个1表示的是1*2^0,事

随机推荐