go基础——基本数据类型
GO语言的数据类型:
/*
GO语言的数据类型:
1.基本数据类型:
布尔类型:true,false
数值类型:整数,浮点,复数complex
字符串:string
2.复合数据类型
array,slice,map,function,pointer,struct,interface,channel...
1.值类型:存储的是数值本身,数据传递给其他变量时传递的是数据的副本。
int,float,string,bool,array,struct
2.引用类型:存储的是数据的内存地址,数据传递时传递的地址。默认零值是nil
slice,map,channel,function,pointer
*/
布尔类型和数值类型
package main
import "fmt"
func main() {
//1.bool
var b1 bool
b1 = true
fmt.Printf("%T,%t\n", b1, b1)
b2 := false
fmt.Printf("%T,%t\n", b2, b2)
//2.整数
/*
有符号,最高位表示符号位,0正,1负
int8,-128到127
int16,-32768到32767
int32,-2147483648到2147483647
int64,-9223372036854775808到9223372036854775807
无符号8位整型,所有位都表示数值
uint8,0到255
uint16,0到65535
uint32,0到4294967295
uint64,0到18446744073709551615
*/
//通常使用int和uint,位数根据操作系统自动选择
//但在语法角度,int和int64不是同一种类型
var i1 int = 1000
var i2 int64 = 2000
fmt.Printf("%d,%T\n", i1, i1)
fmt.Printf("%d,%T\n", i2, i2)
//byte:uint8的别称
//rune:int32的别称
var i3 uint8 = 100
var i4 byte = i3
fmt.Printf("%d,%T\n", i4, i4)
//类型推断,默认为int
var i5 = 500
fmt.Printf("%d,%T\n", i5, i5)
//3.浮点:float32,float64
var f1 float32 = 3.1415926
var f2 float64 = 3.1415926
fmt.Printf("%f,%T\n", f1, f1) //默认保留6位小数
fmt.Printf("%f,%T\n", f2, f2)
fmt.Printf("%.2f,%T\n", f1, f1) //保留两位小数
fmt.Println(f2)
}
bool,true
bool,false
1000,int
2000,int64
100,uint8
500,int
3.141593,float32
3.141593,float64
3.14,float32
3.1415926
字符串
package main
import "fmt"
/*
字符串:
1.概念:多个byte的集合,理解为一个字符序列
2.语法:
使用双引号"abc","hello"
也可以使用`abc`,`hello`
*/
func main() {
//1.定义字符串
var s1 string = "彗星"
var s2 string = `恒星`
fmt.Printf("%s,%T\n",s1,s1)
fmt.Printf("%s,%T\n",s2,s2)
//2.单引号双引号区别
s3 := 'a'
s4 := "a"
fmt.Printf("%d,%T\n",s3,s3) //单引号是ASCII码,int32类型
fmt.Printf("%s,%T\n",s4,s4)
s5 := '天'
fmt.Printf("%d,%T,%c,%q\n",s5,s5,s5,s5) //单引号中文,是Unicode编码
//3.转义字符
fmt.Println("\"haha\"")
fmt.Println(`"haha"`)
fmt.Println("`haha`")
fmt.Printf("hello\tworld\n")
}
彗星,string
恒星,string
97,int32
a,string
22825,int32,天,'天'
"haha"
"haha"
`haha`
hello world
数据类型转换
package main
import "fmt"
/*
数据类型转换:
go语言是静态语言,定义、赋值、运算必须类型一致
语法:Type(Value)
注意:
兼容的类型才能转换
常数自动转换,变量才需要手动转换
*/
func main() {
var a int8 = 10
var b int16
b = int16(a)
fmt.Println(a, b)
}
10 10
go基础——基本数据类型的更多相关文章
- C#基础--之数据类型
C#基础--之数据类型 摘自:http://www.cnblogs.com/tonney/archive/2011/03/18/1987577.html 在第一章我们了解了C#的输入.输出语句后,我这 ...
- page74-泛型可迭代的基础集合数据类型的API-Bag+Queue+Stack
[泛型可迭代的基础集合数据类型的API] 背包:就是一种不支持从中删除元素的集合数据类型——它的目的就是帮助用例收集元素并迭代遍历所有收集到的元素.(用例也可以检查背包是否为空, 或者获取背包中元素的 ...
- JavaScript基础:数据类型的中的那些少见多怪
原文:JavaScript基础:数据类型的中的那些少见多怪 Javascript共有6种数据类型,其中包括3个基本数据类型(string,number,boolean).2个特殊数据类型(undefi ...
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- java基础(数据类型,运算符)
java基础之数据类型(变量) java中存在的数据有常量和变量 常量:在程序执行的过程中其值不可以发生改变 常量的分类 字面值常量 字面值常量的分类 常量 描述 字符串常量 用双引号括起来的内容 整 ...
- js基础--javaScript数据类型你都弄明白了吗?绝对干货
欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...
- Go语言基础之数据类型
Go语言基础之数据类型 Go语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串外,还有数组.切片.结构体.函数.map.通道(channel)等.Go 语言的基本类型和其他语言大同小异. ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- C#基础 常用语&数据类型定义&类型转换
int temp = Console.Read(); Console.WriteLine(temp); Console.Read(); Console.Write(" ");直接 ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
随机推荐
- 简单查看windows蓝屏原因
相信各位在使用windows(xp.7.8.1.10...)过程中都遇到过蓝屏的情况,而蓝屏时,系统会将其记录起来,并追踪到引起蓝屏的程序,以下内容将简单介绍一下如何查看引起windows蓝屏的原因: ...
- oracle 之 while循环月份
需求 需要跑一个数据,时间从17年5月到21年3月. 代码(简单粗暴实现) DECLARE i number; BEGIN i:= 201705; WHILE i <202104 LOOP if ...
- MYSQL修改配置文件之后无法重启服务
错误:修改配置文件my.ini之后无法重启服务. 原因:以记事本方式打开my.ini文件修改完之后保存.保存之后文本编码格式为操作系统默认格式utf-8.my.ini格式要是ANSI才可以正常启动服务 ...
- Python_魔法属性和方法
魔法属性 __doc__:表示类或方法的描述信息 __moudle__:表示当前操作对象的模块,当前模块时,显示__main__ __class__:表示当前操作对象的类型 __name__:表示类或 ...
- django rest framework 自定义验证器
一.基于钩子函数: 官网上的例子: 官方提示:如果字段声明在序列化类上时,就具有参数required=Fasle的作用,当函数名中没有包括字段名时,那么这个验证函数就不起作用 二.基于类的验证器: 使 ...
- unittest_认识unittest(1)
unittest是python内置的单元测试框架,具备编写用例.组织用例.执行用例.输出报告等自动化框架的条件. 使用unittest前需要了解该框架的五个概念: 即test case,test su ...
- 去掉所有包含this或is的行
题目描述 写一个 bash脚本以实现一个需求,去掉输入中含有this的语句,把不含this的语句输出 示例: 假设输入如下: that is your bag is this your bag? to ...
- mysql 5.7.29 在centos7.6下超简单的本地yum源安装与配置
目录 生成yum源元数据 从网易镜像站下载MySQL 5.7 的 bundle包 创建文件 mysql-local.repo 执行yum install命令 生成yum源元数据 createrepo ...
- 基于Typescript和Jest刷题环境搭建与使用
写在前面 前几个月在公司用vue3和ts写项目,想巩固一下基础,于是我想起了去年基于JavaScript和Jest搭建的刷题环境,不如,给它搞个加强版,结合Typescript和Jest 搞一个刷题环 ...
- Centos下安装Scala(2)
1.下载压缩包 命令:wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz 2.解压缩包 命令:tar -xzvf sc ...