09 golang byterune分秒语言基本数据类型_第1页
09 golang byterune分秒语言基本数据类型_第2页
09 golang byterune分秒语言基本数据类型_第3页
09 golang byterune分秒语言基本数据类型_第4页
09 golang byterune分秒语言基本数据类型_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语言基本数据类 语言基本数据类(IT营我的专栏:https:///category-79-1、Golang数据类型介 2、整 3、浮点 4、布尔 5、字符 6、byte和rune类 7、修改字符 1、Golang数据类型介 语言中数据类型分为:基本数据类型和复合数据基本数据类型有整型、浮点型、布尔型、字复合数据类型有数组、切片、结构体、函数、map、通道(channel)、接口等2、整整型分为以下两个大类有符号整形按长度分为:int8、int16、int32、对应的无符号整型:uint8、uint16、uint32、关于字字节也叫Byte,是计算机数据的基本存储单位。8bit(位)=1Byte(字节)1024Byte(字节 。在电脑里一个中文字是占两个字节特殊整关于字字节也叫Byte,是计算机数据的基本存储单位。8bit(位)=1Byte(字节)1024Byte(字节 。在电脑里一个中文字是占两个字节特殊整可能在不同平台上的差异注意事项:mapint来表示。在涉及intuintpackagemainimport()funcmain()varnumint64num=123fmt.Printf("值:%v类型%T",num,}类描32位操作系统上就是uint32,64位操作系统上就是32位操作系统上就是int32,64位操作系统无符号整型,用于存放一个类范占用空有无符(-128到 -2^7到2^7-有(-32768到 -2^15到2^15-2有(-2147483648到 -2^31到2^31-4有(-9223372036854775808-2^632^63-8有(0到 0到2^8-无(0到 0到2^16-无(0到 0到2^32-无(0到 0到2^64-8无)int不同)int不同长度直接的转数字字面量语法(Numberliteralssyntax)(了解 版本之后引入了数字字面量语法,这样便于开发者以二进制、八进制或十六点数的格式定义数字,例如代表二进制v:=packagemainimport()funcmain()varnum1int8num1=127num2:=fmt.Printf("值:%v类型%T",num2,num2)//值:127}packageimport)funcmain()varaint8=120fmt.Printf("%T\n",a)}377255v0x1p-2377255v0x1p-212²0.25且还允许我们用_v123_456123456我们可以借助fmt函数来将一个整数以不同进制形式展示func//a=10fmt.Printf("%d\n",a)//fmt.Printf("%bn"a) //八进制0b=fmt.Printf("%o\n",b)////十六进制0xc=fmt.Printf("%x\n",c)//fffmt.Printf("%X\n",c)//FF}参考3、浮点Go语言支持两种浮点型数:参考3、浮点Go语言支持两种浮点型数:float32float64。这两种浮点型数据格式遵循IEEE754float32的浮点数的最大范围约为3.4e38,可以使用常量定义:math.MaxFloat32。的浮点数的最大范围约1.8e308,可以使用一个常量定义:math.MaxFloat64打印浮点数时,可以使fmt包配合动词%f,代码如下Go语言中浮点数默Golangfloat精度丢失问几乎所有的编程语言都有精度丢失这个问题,这是典型的二进制浮点数精度损失问题,在长条件下,二进制小数和十进制小数互转可能有精度丢vardfloat64=fmt.Println((d*100))//d:=fmt.Println((d* //num:=fmt.Printf("值:%v--类型:%T",num,num)//值:1.1--类型packagemainimport()funcmain()fmt.Printf("%f\n", fmt.Printf("%.2f\n", }使用第三方包来解决精度损失问题使用第三方包来解决精度损失问题Golang科学计数法表示浮点类4、布尔Go语言中以bool类型进行声明布尔型数据,布尔型数据只值注意布尔类型变量的默认值为false 语言中不允许将整型强制转换为布尔型布尔型无法参与数值运算,也无法与其他类型进行转换packagemainimport()funcmain()varb=fmt.Println(b占用字节:",}num8:=5.1234e2//?5.1234*102num9:=5.1234E2//?5.1234*102shift+alt+向下的箭头num10:=5.1234E-2//?5.1234/102次方0.051234fmt.Println("num8=",num8,"num9=",num9,"num10=",m1:=m2:=fmt.Println(m1-m2)//4.45、字符Go语言中的字符串以原生数据类型出现,使用字符串就像使用5、字符Go语言中的字符串以原生数据类型出现,使用字符串就像使用其他原生数据类型(intbool、float32、float64等)GoUTF-8为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符,例如:字符串转 语言的字符串常见转义符包含回车、换行、单双引号、制表符等,如下表所示举个例子,我们要打印一个Windows平台下的一个文件路径多行字符 语言中要定义一个多行字符串时,就必须使用反引号字符s1`第一行packageimport)funcmain()fmt.Println("str:=}转义含回车符(返回行首换行符(直接跳到下一行的同列位置制表单引双引反斜s1:="hello"s2:="你好字符串的常用操len(str)求字符串的长拼接字strings.Split分割字varstr字符串的常用操len(str)求字符串的长拼接字strings.Split分割字varstr="123-456-varstr1="你好"varstr2="golang"fmt.Println(str1+varstr3=fmt.Sprintf("%v%v",str1,str2)varstr="thisisstr"方介求长+拼接字符分判断是否包前缀/后缀判子串出现的位join第三反引号间换行将被作为字符串中的换行,但是所有的转义字符均无效,文本将会原样输出拼接字判断首字符尾字母是否拼接字判断首字符尾字母是否包含指定字判断字符串出现的位Joinvarstr="123-456-vararr=strings.Split(str,"-")varstr2=strings.Join(arr,"*")varstr="thisisvarindex=strings.Index(str,"is") varstr="thisisvarindex=strings.LastIndex(str,"is") varstr="thisisvarflag=strings.HasPrefix(str,"this")varstr="thisisvarflag=strings.HasSuffix(str,"go")varstr="thisisvarflag=strings.Contains(str,"golang")vararr=strings.Split(str,"-")6、byterune类组成每个字符串的元素叫做“6、byterune类组成每个字符串的元素叫做“字符”,可以通过遍历字符串元素获得字包裹起来,如字符用单引号字节(byte):是计算机中数据处理的基本单位,习惯上用大8bit(位字符:是指计算机中使用的字母、数字、一个汉子占用3个字节一个字母占用一个字Go语言的字符有以下两种uint8byteASCIIruneUTF-8当需要处理中文、日文或者其他复合字符时,则需要用int32rune类型。类型实际是一GoruneUnicodeUnicodebytea:="m"fmt.Println(len(a))//1b:="张"fmt.Println(len(b3packagemainimport"fmt"funcmain()a:=b:=//如果我们要输出这个字符,需要格式化fmt.Printf("%c--%c",a, }输出104(h)101(e)108(l)108(l)输出104(h)101(e)108(l)108(l)111(o)32()229(å)188(¼)160()228(ä)184(¸)104(h)101(e)108(l)108(l)111(o)32()24352(张)19977(三UTF8编码下一个中文汉字由3个字节组成,所以我们不能简单的按照字节去遍历一包含中文的字符串,否则就会出现上面输出中第一行的结果byte数组,所以可以和[]bytebytebyteruneutf8rune字符由一个或byte组成rune类型实际是一个7、修改字符要修改字符串,需要先将其转换成 或[]byte,完成后再转换为string。无论哪种转换都会重新分配内存,并复制字节数组c3营c4营fmt.Printf("C3的类型%T--C4的类型%T",c3,c4)//C3string--C4//packageimportfuncmain()s:=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论