Go类型与进制

本文介绍了Go语言中的进制转换,包括二进制、八进制、十六进制和十进制间的转换,并详细阐述了不同数据类型,如int的平台依赖性,以及int16、rune、byte等类型的特性。还讨论了浮点数的格式化输出,转义字符的使用,以及各种打印格式和输出函数的应用。
摘要由CSDN通过智能技术生成

iota:总是从0开始,递增为1的整数

一、进制

二进制0b1001000  0100 1000

八进制 0o110   01 001 000=》 1 * 8^2+1 * 8^1+0 * 8^0=72

十六进制0x48  0100 1000

十进制转二进制

除以基数2,直到商为0为止,反向提取余数。

转为十六进制

除以基数16,直到商为0为止,反向提取余数。

二、数据类型

int 类型非常特殊,自动和平台匹配

           64平台,int 64位  8字节

           32平台, int 32位   4字节

int64和int不是一个类型,不能等同

int16  0~65535 65536种状态

计算机中只有二进制数据,为了显示字符,字符数字化产生了ASCII表 数字=》字符,占一个字节位。

unicode双字节合理分配,128个单字节兼容

utf-8 1~4字节,兼容ASCII,中文基本都落在了三字节上。

计算机中内存的数据

type byte=unit8 别名

type rune=int32

type myint int 不是别名,定义新类型

var d='2' 默认就是rune类型int32

'\x61'字符的十六进制表示

0x61 整数的16进制表示

//字符串在内存中使用utf-8,rune输出是unicode
var c rune='中' //字符用单引号
var d byte='中'//错误,超出byte范围
var d byte='\x61'

2、float

f:= 3.1415  //float64

fmt.Printf("%v\n",f)       //value默认格式
fmt.Printf("%f\n",f)      //f浮点数,默认小数点后6位
fmt.Printf("%3f|\n",f)     //宽度为3,撑爆了
fmt.Printf("%20f|\n",f)    //宽度为20,没有撑爆
fmt.Printf("%-20f|\n",f)    //宽度为20,没有撑爆,左对齐
fmt.Printf("%-20.3f|\n",f)    //宽度为20,没有撑爆,小数点后三位,四舍五入

//3.1415
//3.141500
//3.141500|
//            3.141500|
//3.141500            |
//3.142               |

fmt.Println(f+1000) //1000无符号的整数字面量,它有语法糖,它会被编译器走隐式类型转换

3、转义字符

每一个都是一个字符,rune类型。可以作为单独字符使用,也可以作为字符串中的一个字符

\a   u+0007   alert or bell

\b   u+0008    backspace

\f     u+000c  form feed

\n    u+000A   line feed or newline

\r     u+000D   carriage return

\t      u+0009    horizontal tab

\v     u+000B    vertical tab

\\      u+005c    backslash

\'       u+0027    single  quote

\"       u+0022    double quote

 4、打印格式

  • %T打印值的类型
  • %%打印百分号本身
  • %b二进制;%o八进制;%O八进制带0o前缀,%x十六进制小写,%X十六进制大写
  • %U把一个整数用Unicode格式打印。例如输出u+6D4B,6d4b
  • %c把rune、byte的整型值用字符形式打印
  • %q把一个整型当做Unicode字符输出,类似%c,不过外面多了单引号
  • %e、%E科学计数法
  • %f、%F小数表示法,最常用
  • %g内部选择使用%e还是%f以简洁输出
  • %s 字符串输出,如果是rune切片,需要做强转
  • %q类似%s,外部加上双引号

5、输出函数

输出到标准输出

  • Print:使用缺省格式输出,空格分隔
  • Println:使用缺省格式输出,空格分隔,最后回车换行
  • Printf:按照指定的格式符输出

输出到字符串,经常用来拼接字符串用

  • Sprint:相当于Print,不过输出为string
  • Sprintln:相当于Println,不过输出为string
  • Sprintf:相当于Printf,不过输出为string
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值