• Go语言第二篇-基本数据类型与转义字符


    -————————————————————————————
    随便记录没什么顺序:
    ————————————————————————————

    🔣本部分内容记录了以下知识点:
    🌏转义字符的使用
    🌏基本数据类型的使用
    🌏使用len()和len([]runc())分别计算字节和字符大小
    🌏使用reflect.TypeOf()查看数据的类型
    
    • 1
    • 2
    • 3
    • 4
    • 5

    王者荣耀中有一个英雄,这个英雄的名字叫做“嬴政”,我这几天在玩,感觉很nice。
    那么根据他的基本信息,可以用来学习什么呢?

    func main() {
    	var name string = "嬴政"
    	var hp int = 3125
    	fmt.Println("王者荣耀中有一个英雄,他的名字叫: ", name)
    	fmt.Println("他的初始最大生命值为: ", hp)
    	fmt.Println("他拥有四个技能分别为: \"王者审判\"\t\"王者惩戒\" \t\"王者守御\" \t\"至尊王权\"")
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    稍微解释一下上面这段代码:

    • 使用var关键字定义一个名为name的变量,类型为string(字符串),值为嬴政;同样定义一个hpint(整数)类型变量,值为3125
    • 使用fmt.Println将信息打印出来,使用转义字符\"将技能的“”保留;使用转义字符\t制表符将技能按顺序排列。

    输出的结果如下:

    > go run .\2运算.go
    王者荣耀中有一个英雄,他的名字叫:  嬴政
    他的初始最大生命值为:  3125
    他拥有四个技能分别为: "王者审判"        "王者惩戒"      "王者守御"      "至尊王权"
    
    • 1
    • 2
    • 3
    • 4

    上面一段代码用到了基本数据类型整数类型字符串类型,除此之外还有浮点数类型布尔类型,简单说一下这几种类型,以后会经常遇到。

    • string(字符串类型):存储文本信息,可以表现为嬴政、yingzheng、123123等多种方式,在UTF-8中一个汉字占用3个字节,一个字符。
    // 还是使用上面定义的“嬴政”的变量
    // 除此之外Go语言中单行注释使用“//”
    // 使用len()计算字节数;len([]rune())计算字符数
    fmt.Println("这个名字占用的空间大小为:", len(name))
    fmt.Println("这个名字占用的字符数为:", len([]rune(name)))
    
    # 输出:
    > go run .\2运算.go
    这个名字占用的空间大小为: 6
    这个名字占用的字符数为: 2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 有符号整数类型:包括int、int8、int16、int32、int64;需要注意的是int在64位系统是8字节,在32位系统是4字节;而int8代表1字节,以此类推。
    • 无符号整数类型:同样包括uint、uint8、uint16… …,无符号整数不包含负数,所以是从0开始
    • 布尔类型:用于表达逻辑值,即真(true)和假(false),默认值为0(false)。
    func main() {
    	// 定义小鲁班的职业为射手
    	heroClass := "射手"
    
    	isMarksman := (heroClass == "射手")
    	isMage := (heroClass == "法师")
    
    	fmt.Println("小鲁班是射手吗?", isMarksman)
    	fmt.Println("小鲁班是法师吗?", isMage)
    }
    
    # 输出:
    > go run .\2运算.go
    小鲁班是射手吗? true
    小鲁班是法师吗? false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 浮点数类型(小数):提供了float32float64两种分别对应单精度浮点数和双精度浮点数,分别可以提供大约6个十进制位精度15个十进制位精度
    func main() {
    	n := 0.75
    	fmt.Println("变量n的数据类型是什么: ", reflect.TypeOf(n))
    	fmt.Printf("小鲁班的攻速加成是: %.2f%%\n", float64(n)*100)
    }
    
    # 输出:
    > go run .\2运算.go
    变量n的数据类型是什么:  float64
    小鲁班的攻速加成是: 75.00%
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • %f表示浮点数,%.2f表示保留两位小数;%%表示输出一个%
    • float64(n)*100表示如果不是浮点数也转变为浮点数

    ——————————————————————————

    王者肯定不是一个人玩的,所以需要很多队友,接下来就有一个五人小队出现:

    fmt.Println("上单\t中单\t打野\t射手\t游走\n吕布\t嬴政\t典韦\t狄仁杰\t朵莉亚")
    
    • 1
    • 这行代码分别使用了制表符\t和换行符\n所以输出的结果很整齐
    > go run .\2运算.go
    上单    中单    打野    射手    游走
    吕布    嬴政    典韦    狄仁杰  朵莉亚
    
    • 1
    • 2
    • 3

    游戏打完了,就该学习了,找到学习资料目录:

    fmt.Println("学习资料位置: D:\\学习资料\\日韩\\")
    
    # 输出:
    > go run .\2运算.go
    学习资料位置: D:\学习资料\日韩\
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 可以看出学习资料是放在D:\学习资料\日韩\目录中的,使用\转义符就可以把“\”打印出来。

    全军出击

  • 相关阅读:
    智能音箱,扫地机器人,传感器,窗帘电机等产品有何优点?(下)
    React学习--- 组件
    安全架构设计理论与实践
    Git入门
    基于 arm64 Linux nanosleep 系统调用流程分析
    学生免费申请IDEA使用流程
    【群智能算法改进】一种改进的棕熊优化算法 IBOA算法[1]【Matlab代码#64】
    初识Springboot
    【操作系统】进程间的通信——信号
    【C++】位图(海量数据处理)
  • 原文地址:https://blog.csdn.net/qq_42527269/article/details/138085972