golang数据类型
常量
常量声明的时候,必须初始化
常量不能修改
常量只能修饰bool,int,float,string类型
const (
a = iota
b
c
)
这里a=1,b和c在a的基础分别加1
整数类型
Golang各整数类型分:有符号和无符号,int uint 的大小和系统有关。
Golang查看一个变量的数据类型:
package main import "fmt"
func main() {
var n1 = 100
fmt.Printf("n1的类型 %T", n1)
}
浮点类型
浮点数 = 符号位 + 指数位 + 尾数位
尾数部分可能丢失,造成精度损失
func main() {
var num3 float32 = -123.0000901
var num4 float64 = -123.0000901
fmt.Println("num3=", num3, "num4=", num4)
}
float64比float32精度高
字符类型
golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。
字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也就是说对于传统的字符由字符组成的,而Go的字符串不同,它是由字节组成的。
字符型存储到计算机中,需要将字符对应的码值(整数)找出来
存储:字符——>对应码值——>二进制——>存储
读取:二进制——>码值——>字符——>读取
Go语言的编码都统一成了uft-8,非常方便,很统一。
布尔类型
bool类型占1字节。
string类型
字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言字符串的字节使用UTF-8编码标识Unicode文本
字符串一旦赋值了,字符串就不能修改了,在Go语言中字符串是不可变的
字符串的两种表示形式:
1.双引号,会识别转义字符
2.反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出源代码等效果
golang数据类型的更多相关文章
- Golang数据类型总结及其转换
golang数据类型 基本类型:boolean,numeric,string类型的命名实例是预先声明的. 复合类型:array,struct,指针,function,interface,slice,m ...
- golang数据类型与转换
一.数值型int(默认值 0) int 整数 32位系统占4个字节(-2^31~2^31-1).64位系统占8个字节(-2^63~2^63-1)uint 32位系统占4个字节(0~2^32-1).64 ...
- golang 数据类型之间的转换
一.基本数据类型之间的转换 1.string到int int,err:=strconv.Atoi(string) 2.string到int64 int64, err := strconv.ParseI ...
- golang数据类型二
字符类型 3.14基本数据类型的相互转换 3.15基本数据类型和string的转换 FormatInt // FormatUint 将 int 型整数 i 转换为字符串形式// base:进位制(2 ...
- golang 数据类型/基础语法
常量 变量 复合类型 结构体 数组 基础类型 整型 浮点型 复数 bool 值 字符型 字符串 错误(稍微有异议) 引用类型 切片 指针 字典 管道 函数 接口 其他语法结构 包 流程控制 运算符 注 ...
- golang数据类型三
- golang protobuf
1. proto文件编写的时候,如果用uint32或uint64类型,那么不能用required,必须用optional. 如果用错了,会出现错误:unmarshaling error: proto: ...
- golang 整型
目录 前言 整型 1.分类 2.类型 3.类型补充 4.补充: 跳转 前言 不做文字的搬运工,多做灵感性记录 这是平时学习总结的地方,用做知识库 平时看到其他文章的相关知识,也会增加到这里 随着学习深 ...
- golang 浮点型
目录 前言 1.三要素 2.表现形式 3.类型 4.精度 5.格式化 6.使用细节 跳转 前言 不做文字的搬运工,多做灵感性记录 这是平时学习总结的地方,用做知识库 平时看到其他文章的相关知识,也会增 ...
随机推荐
- Mongodb java.util.NoSuchElementException:null 已解决
public static String find(){ String a=""; try{ MongoCollection<Document> collection ...
- let和const关键字
一:let 关键字 1.作用: - 与var类似, 用于声明一个变量 2.特点 - 在块作用域内有效 - 不能重复声明 - 不会预处理, 不存在提升 3.应用 - 循环遍历加监听 - 使用let取代v ...
- Java并发指南1:并发基础与Java多线程
本文转载自互联网,侵删 什么是并发 在过去单CPU时代,单任务在一个时间点只能执行单一程序.之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程.虽然并不是真正意义上的“同一时间点”,而是 ...
- 解决python在命令行中运行时导入包失败,出现错误信息 "ModuleNotFoundError: No module named ***"
转自https://www.cnblogs.com/dreamyu/p/7889959.html https://www.cnblogs.com/lifeofershisui/p/8135702.ht ...
- QMessageBox改变大小
创建一个QMessageBox: QMessageBox msgBox(this);msgBox.setWindowTitle(tr("MailBox Location"));ms ...
- Python 自学笔记(四)
1.for...in...循环语句 1-1.遍历列表 1-2.遍历字典 1-2-1.遍历字典的键和值 1-2-2.遍历字典的键值(一) 1-2-3.遍历字典的键值(二) 1-2-4.遍历字典的值 1- ...
- LeetCode 被围绕的区域
给定一个二维的矩阵,包含 'X' 和 'O'(字母 O). 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充. 示例: X X X X X O O X X X O X X ...
- 跨平台(win和unix)的线程封装类
#ifdef WIN32 #include <Windows.h> #include <process.h> #else #include <pthread.h> ...
- SSH交互式脚本StrictHostKeyChecking选项 benchmode=yes
SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击.但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查. 什 ...
- git如何压栈某一个文件?
答: 使用git stash -p进行交互式操作,y表示压栈,n表示不压栈