当前位置: 首页 > news >正文

Go基本数据类型

整型

package mainimport "fmt"/*
整型 浮点型 复数
整型: int8 int16 int32 int64 int --有符号整型(第一位表示符号正负)int  看操作系统unit8 uint16 uint32 uint   --无符号位(都是正整数)uintptr  无符号整数类型指针
*/var a int8
var b int16func main() {// a = 200//int8最大127,200大于127// fmt.Println(a)b = 20fmt.Println(b)// a = 10// fmt.Println(b - a)//即使都是整型,但是一个是int8,一个是int16,不能相互计算
}
package mainimport "fmt"var x uint8
var y uint8func main() {//无符号位的整数  注意计算溢出x = 1y = 2fmt.Println(x - y) //输出得到255--》溢出了
}
package mainimport "fmt"func main() {//int类型 位数看操作系统var x intx = 100fmt.Println(x, unsafe.Sizeof(x))//8字节表示8*8,64位var str1 stringfmt.Println(unsafe.Sizeof(str1))
}
package mainimport "fmt"func main() {//进制表示bin_num1 := 0b11//二进制数,以0b开头  数字只包含0-1oct_num1 := 0o11//八进制数,以0o开头  数字只包含0-7hex_num1 := 0x1a//十六进制数,以0x开头  数字只包含0-9 a-ffmt.Println(bin_num1, oct_num1, hex_num1)fmt.Printf("%T", bin_num1)//查看数据类型
}

浮点型

package mainimport "fmt"/*
浮点型: float32 float64  不精确--》二进制存储小数位
float32 三部分组成  符号(1位) 指数(8位) 尾数(23位)
float64 三部分组成  符号(1位) 指数(11位) 尾数(52位)
*/func main() {//浮点数是不精确的//如果要更精确--》使用float64  还要更精确--》使用decimal库var f1 float32var f2 float32var f3 float32f1 = 0.1111111f2 = 0.2222222f3 = 0.3333333if f1+f2 == f3 {fmt.Println("f1 + f2 == f3")} else {fmt.Println("f1 + f2 != f3") //输出不相等}
}

复数

package mainimport "fmt"/*
复数:complex64 complex128
*/func main() {//复数var z1 complex64 = 5 + 4ifmt.Println(z1)
}

布尔类型

package mainimport "fmt"func main() {//布尔类型  -- true false  常常用在判断中var x boolfmt.Println(x) //默认值是false
}

字符

package mainimport ("fmt""unicode/utf8"
)/*
字符类型  byte rune编码  人类语言--机器语言  映射
ascii  --  英文字符
unicode  --  万国码  utf8 gbk是unicode具体体现,实现存入磁盘byte  --  unit8   --》英文
runne --  unit32  --》中文字符串类型  string   双引号包裹
*/
func main() {var c1 bytec1 = 97fmt.Println(c1, string(c1)) //string()将字符类型转化为文字显示c2 := '中'                   //用单引号引起来的单个字符串  得到的是字节码fmt.Println(c2)fmt.Printf("%T\n", c2)// c3 := '中国'//错误,单引号只能表示一个字符// fmt.Println(c3)
}

字符串

package mainimport ("fmt""unicode/utf8"
)/*
字符类型  byte rune编码  人类语言--机器语言  映射
ascii  --  英文字符
unicode  --  万国码  utf8 gbk是unicode具体体现,实现存入磁盘byte  --  unit8   --》英文
runne --  unit32  --》中文字符串类型  string   双引号包裹
*/
func main() {var str3 stringstr3 = "hello"//统计字符串的长度  --len()函数   统计的是字节数,不是字符数fmt.Println("str3的长度是:", len(str3))str4 := "hello,世界"                    //字符串中包含中文字符fmt.Println("str4的长度是:", len(str4))   //len()统计的是字节数count := utf8.RuneCountInString(str4) //统计字符数fmt.Println("str4的字符数是:", count)      //统计的是字符数//字符串的截取[start:end]     按字节截取str7 := "abcxyz,hello"fmt.Println(str7[0:5])fmt.Println(str7[:5])fmt.Println(str7[4:])str8 := "中国,你好"fmt.Println(str8[:2]) //输出的是字节数,包含中文字符的字节数
}

转义字符

package mainimport ("fmt""unicode/utf8"
)/*
字符类型  byte rune编码  人类语言--机器语言  映射
ascii  --  英文字符
unicode  --  万国码  utf8 gbk是unicode具体体现,实现存入磁盘byte  --  unit8   --》英文
runne --  unit32  --》中文字符串类型  string   双引号包裹
*/
func main() {//转义字符 --  含有特殊含义的字符/*转义字符  \n 换行符  \t 制表符  \\ 反斜杠  \' 单引号  \" 双引号*/str5 := "a\"b"fmt.Println(str5) //输出a"b//字符串原样输出str6 := `a"b`     //使用反引号包裹字符串,原样输出fmt.Println(str6) //输出a"b}
http://www.dtcms.com/a/283173.html

相关文章:

  • 81、面向服务开发方法
  • Redisson实现分布式锁
  • Redisson实现限流器详解:从原理到实践
  • HTML 入门教程:从零开始学习网页开发基础
  • 前端知识:浏览器工作原理与开发者工具知识笔记
  • WIN10系统优化篇(一)
  • Leetcode 02 java
  • IDEA报错“资源找不到”?重启就好了!!?
  • 使用Dify构建HR智能助理,深度集成大模型应用,赋能HR招聘管理全流程,dify相关工作流全开源。
  • 城市蓝影.
  • 服务注册nacos和OpenFerign(用于封装跨服务之间的调用方法)
  • kubernetes学习笔记(一)
  • 数据结构 双向链表(2)--双向链表的实现
  • 黄仁勋链博会演讲实录:脱掉皮衣,穿上唐装,中文开场
  • 完善评论发布功能
  • PHP面向对象编程:类与对象的基础概念与实践
  • 从0到1搭建Lazada账号矩阵:自养号测评的精细化养号全攻略
  • Linux 定时器应用示例
  • 功能测试和回归测试
  • C# WPF后台设置控件样式失效的解决方法
  • 【Vue】tailwindcss + ant-design-vue + vue-cropper 图片裁剪功能(解决遇到的坑)
  • 从规模到效率:大模型三大定律与Chinchilla定律详解
  • 实现通讯录人员选择
  • IKE学习笔记
  • Java强化:多线程及线程池
  • 从电子管到CPU
  • 基于MATLAB的决策树DT的数据分类预测方法应用
  • Android CameraX使用
  • [析]Deep reinforcement learning for drone navigation using sensor data
  • CClink IEF Basic设备数据 保存到MySQL数据库项目案例