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

server/2024/9/23 22:39:30/

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

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

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

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

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

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

输出的结果如下:

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

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

  • 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
  • 有符号整数类型:包括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
  • 浮点数类型(小数):提供了float32float64两种分别对应单精度浮点数和双精度浮点数,分别可以提供大约6个十进制位精度15个十进制位精度
func main() {n := 0.75fmt.Println("变量n的数据类型是什么: ", reflect.TypeOf(n))fmt.Printf("小鲁班的攻速加成是: %.2f%%\n", float64(n)*100)
}# 输出:
> go run .\2运算.go
变量n的数据类型是什么:  float64
小鲁班的攻速加成是: 75.00%
  • %f表示浮点数,%.2f表示保留两位小数;%%表示输出一个%
  • float64(n)*100表示如果不是浮点数也转变为浮点数

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

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

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

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

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

全军出击


http://www.ppmy.cn/server/19269.html

相关文章

C++ Primer Plus

第一章 初始C #include <iostream> //#:预处理int main(void) //void:无参数 {using namespace std;int carrots; //定义声明语句:开辟内存空间&#xff0c; int:整型 cout << "how many corrots do you have?" << endl; //cout:输出流(out) end…

django结合smartchart实现系统的数据看板页面

1、安装smartchart pip3 install smartchart 2、在你的setting.py的INSTALL_APPS中加入’smart_chart.echart 3、MIDDLEWARE 中注释掉XFrameOptionsMiddleware 4、检查确保在Templates的设定处有DIRS的相关设定 TEMPLATES = [{BACKEND: django.template.backends.django.…

端点安全管理系统干什么用的 有哪些好用?

你听说过&#xff1a; 端点安全管理系统吗&#xff1f; 我们一起来了解一下啊 一、什么是端点安全管理系统&#xff1f; 端点安全管理系统&#xff08;Endpoint Security Management System&#xff09;是一种专门用于保护企业内部网络终端设备的综合性安全解决方案。 这些终…

table表格导出为excel文件并设置样式

table表格导出为excel文件并设置样式 安装xlsx、xlsx-style-medalsoft 的 npm 包&#xff1a; npm i xlsx xlsx-style-medalsoft设置全局&#xff1a; Vue.prototype.$XLSX XLSX; // 设置全局 Vue.prototype.$XLSXStyle XLSXStyle; // 设置全局具体代码实现&#xff1a; …

洛谷 P3806 [模板] 点分治 1 题解

【模板】点分治 1 题目描述 给定一棵有 n n n 个点的树&#xff0c;询问树上距离为 k k k 的点对是否存在。 输入格式 第一行两个数 n , m n,m n,m。 第 2 2 2 到第 n n n 行&#xff0c;每行三个整数 u , v , w u, v, w u,v,w&#xff0c;代表树上存在一条连接 u …

大模型咨询培训老师叶梓:利用知识图谱和Llama-Index增强大模型应用

大模型&#xff08;LLMs&#xff09;在自然语言处理领域取得了显著成就&#xff0c;但它们有时会产生不准确或不一致的信息&#xff0c;这种现象被称为“幻觉”。为了提高LLMs的准确性和可靠性&#xff0c;可以借助外部知识源&#xff0c;如知识图谱。那么我们如何通过Llama-In…

【设计模式】11、flyweight 享元模式

文章目录 十一、flyweight11.1 pool 连接池11.1.1 pool_test.go11.1.2 pool.go11.1.3 conn.go 11.2 chess_board11.2.1 chess_test.go11.2.2 chess.go 十一、flyweight https://refactoringguru.cn/design-patterns/flyweight 大量重复的对象, 如果很消耗资源, 没必要每次都初…

什么是redis服务+redis服务数据类型有哪些??

一、背景&#xff1a; 在运维工作会一定会接触到数据库服务&#xff0c;例如oracle数据库、mysql数据库、redis数据库等&#xff0c;这里要介绍的就是redis数据库。 二、什么是redis&#xff1f;&#xff1f; Redis&#xff0c;英文全称是Remote Dictionary Server&#xff08;…