三 Go语言之基础数据类型

前面我们写的程序中,用到的变量的类型都是整型,但是在我们GO语言中,还有很多其它的类型

类型 名称 长度 零值 说明
bool 布尔类型 1 false 其值不为真即为假,不可以用数字代表true或false
byte 字节型 1 0 uint8别名
int, uint 整型 - 0 有符号32位或无符号64位
int8 整型 1 0 -128 ~ 127
uint8 整型 1 0 0 ~ 255
int16 整型 2 0 -32768 ~ 32767
uint16 整型 2 0 0 ~ 65535
int32 整型 4 0 -2147483648 到 2147483647
uint32 整型 4 0 0 到 4294967295(42亿)
int64 整型 8 0 -9223372036854775808到 92233720368547758070
uint64 整型 8 0 到 18446744073709551615(1844京)
float32 浮点型 4 0.0 小数位精确到7位
float64 浮点型 8 0.0 小数位精确到15位
string 字符串 "" utf-8字符串
下面我们看一下几个非常重要的类型,其它类型随着学习的深入,后面会讲解到。

一 布尔类型

布尔类型的变量取值要么是真(true),要么是假(false),用bool关键字来进行定义。示例如下:

func main() {
    
    
     //默认为false
	var a bool
	//输出值为:false
	fmt.Println("a的值:",a)
}

自动推导类型

func main() {
    
    
	a := true
	//输出值为:true
	fmt.Println("a的值:", a)
}

指定格式的输出:

func main() {
    
    
	var b bool
	b = true
	//输出值为:true
	fmt.Printf("b的值%t:", b)
}

结果
在这里插入图片描述

二 浮点型

func main() {
    
    
	var f1 float32
	f1 = 3.14
	fmt.Printf("f1的值%f:", f1)
}

三 字符类型

3.1 字符基本输入与输出

所谓字符类型是用单引号括起来的单个字符,关于字符的定义使用如下:

func main() {
    
    
	var ch byte
	ch = 'v'
	fmt.Printf("ch的值是:%c", ch)
}

输入一个字符,如下所示:

func main() {
    
    
	var ch byte
	fmt.Scanf("%c",&ch)
	fmt.Printf("ch的值是:%c", ch)
}

3.2 字符第二种输入与输出方式

func main() {
    
    
	var ch byte
	ch=97
	//输出a;(这里是%c,不是%d,如果是%d的话,结果就是97)
	fmt.Printf("ch的值是:%c", ch)
}

结果
在这里插入图片描述
这里定义了,ch是一个字符类型,赋值却是一个整数97,打印的结果是小写字符’a’.

原因是:计算机不能直接存储字符类型,只能转成数字存储,但是为什么小写字符‘a’,对应的整数是97呢?因为,计算机是根据’ASCII’码来存储。(这里只是简单介绍ASCII)
在这里插入图片描述
扩展

func main() {
    
    
	var ch byte
	ch='a'
	//结果是97
	fmt.Printf("ch的值是:%d", ch)
}

3.3 转义字符

字符除了我们常见的字符‘a’,字符’b’等等以外,还有一些特殊的字符,例如我们讲解的’\n’, 它的作用是什么?换行,不会在屏幕上输出具体的内容。这种字符我们称为转义字符(具有特殊含义),那么除了’\n’字符以外,还有哪些是我们以后编程中经常用到的转义字符呢?
\":表示一个英文半角的双引号

func main() {
    
    
	fmt.Printf("我是 \"好学生\"");
}

结果
在这里插入图片描述
\t:表示一个tab键的空格(可以用来对输出的内容进行排版)
\\:表示一个\(主要用在表示磁盘目录上,后面我们讲解文件操作时,经验要根据磁盘目录获取文件然后进行读取,写入等操作)

3.4 字符串类型

用单引号括起来的单个字符是字符类型,用双引号括起来的字符是字符串类型。“a”是字符还是字符串呢?
下面是关于字符串的定义使用:

func main() {
    
    
	var str1 string
	str1="abcd"
	fmt.Println("str1的值是:",str1)
	fmt.Printf("str1的值:%s",str1)
}

结果
在这里插入图片描述
字符串输入

func main() {
    
    
	var str1 string
	fmt.Scanf("%s",&str1)
	fmt.Printf("str1的值:%s",str1)
}

3.5 字符串方法

func main() {
    
    
	var str1 string
	str1 = "abcd"
	fmt.Println("字符串长度:", len(str1))
	fmt.Printf("第二个字符:%c",str1[1])
}

结果
在这里插入图片描述

3.6 fmt输出输入

我们前面在输出与输入字符串类型,字符类型,整型等都指定了对应的格式化,那么go语言中还有哪些格式化呢?

格式 含义
%% 一个%字面量
%b 一个二进制整数值(基数为2),或者是一个(高级的)用科学计数法表示的指数为2的浮点数
%c 字符型。可以把输入的数字按照ASCII码相应转换为对应的字符
%d 一个十进制数值(基数为10)
%f 以标准记数法表示的浮点数或者复数值
%o 一个以八进制表示的数字(基数为8)
%p 以十六进制(基数为16)表示的一个值的地址,前缀为0x,字母使用小写的a-f表示
%q 使用Go语法以及必须时使用转义,以双引号括起来的字符串或者字节切片[]byte,或者是以单引号括起来的数字
%s 字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符)
%t 以true或者false输出的布尔值
%T 使用Go语法输出的值的类型
%x 以十六进制表示的整型值(基数为十六),数字a-f使用小写表示
%X 以十六进制表示的整型值(基数为十六),数字A-F使用小写表示
大家目前先掌握该表格中,标注红色的内容。在红色内容中,我们没有用到的是%T,作用是输出值的类型,示例如下:
func main() {
    
    
	var str1 string
	str1 = "abcd"
	fmt.Printf("数据类型%T",str1)
}

结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_33417321/article/details/114751624
今日推荐