5、做中学 | 三年级上期 Golang布尔和字符串

一、布尔-非黑即白

大家好,给大家介绍一个地铁判官:布尔~bool!
在这里插入图片描述

该判官心里只有俩种结果,正义: true; 邪恶: false!

该判官出没于各大审判场所,伸张正义!!!

	// bool

	// 声明
	var f bool = true
	fmt.Println("f=", f)

	// bool 类型只有俩种类型  true  false
	var a bool = false
	var b bool = true
	fmt.Println(a, b)

	// bool 类型存储空间只占一个字节大小
	var c bool = true
	fmt.Println("bool类型存储空间大小=", unsafe.Sizeof(c))

bool存储只占一个字节大小,值只有俩种true、false. bool经常出现在if判断 for循环表达式等逻辑运算中,进行流程控制!!!
在这里插入图片描述

二、 字符串

字符串,真的是字符组成的一串数据吗?
在其它语言中,这个回答是:是的!
但在go中,这个答案是:错误的!!!go中字符串是由字节组成的一串数据,而字节对应的码值是整数!

1. 字符类型

go中没有专门的字符类型,如果要存储单个字符,一般使用byte保存,还记得之前分析整数类型的时候 byte是uint8的别名吗?

为什么可以用uint8进行存储字符,因为字符型的本质是:整数啊!!!

	// 字符类型

	// byte 存储的是[0-9,a-z,A-Z]的255以内的ASCII表的码值
	var d byte = 'a'
	fmt.Println("d=", d)
	fmt.Printf("d=%c\n", d)
	//d= 97
	//d=a
	
	// 超过255码值的使用int 存储utf-8表中的码值
	var e int = '中'
	fmt.Println("e=", e)
	fmt.Printf("e=%c\n", e)
	//e= 20013
	//e=中
  1. 字符类型值为单引号引用
  2. 一个字母占1个字节,一个中文占3个字节
  3. 字符类型的本质是整数,直接输出时是数字
  4. 字符是数值,那么可以数值运算
  5. go统一编码额为utf-8
	// 超过255码值的使用int 存储utf-8表中的码值
	var e int = '中'
	fmt.Println("e=", e)
	fmt.Printf("e=%c\n", e)
	//e= 20013
	//e=中

	var g int = '国'
	fmt.Println("g=", g)
	fmt.Printf("g=%c\n", g)
	//g= 22269
	//g=国

	fmt.Println("result =", e+g)
	// result = 42282

2. 字符串

go中字符串是由字节组成的一串固定长度的字符序列。其中字节使用的UTF-8编码标识的Unicode文本。

练习代码

    // 字符串
	var str string = "中华人民国和国 2025-09-03 举行盛大阅兵式"
	fmt.Println("str=", str)

	var s1 string = "hello"
	// 声明后 不能进行重新赋值
	//s1[0] = 'H'
	fmt.Println("s1=", s1)

	// 字符串会识别转义字符
	var s2 string = "hello\nworld"
	fmt.Println("s2=", s2)

	// 原格式输出
	var s3 string = `
    尊敬的阅读者你好:
        很高兴能在这里遇见你~
                       2025年6月24日
`
	fmt.Println("s3=", s3)

	// 字符串拼接
	var s4 string = "hello" + "world"
	fmt.Println("s4=", s4)

使用注意事项

  1. go中字符串使用UTF-8编码
  2. 字符串一旦赋值,后续不能更改
  3. 双引号会识别转义字符
  4. 反引号:原格式打印
  5. 字符串拼接,创建一个新的字符串

本次作业

  1. 熟练使用bool用在哪个场景
  2. 知道字符类型的原理
  3. 熟练使用字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值