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

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

🔣本部分内容记录了以下知识点:
🌏转义字符的使用
🌏基本数据类型的使用
🌏使用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.mzph.cn/news/827404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node項目的开发

01 创建package.json文件: npm init 创建一个package.json 项目描述的文件。package name : 包名version:版本description:项目描述entry point:入口文件 默认index.jstset command:测试命名git reposito…

协程/线程/进程的简单应用

使用FastApi模拟网络IO接口 import timefrom fastapi import FastAPIapp FastAPI()# 文件名 api.py # 运行: uvicorn api:app --reloadapp.get("/sleep/{times}") def sleep(times: int):# 模拟接口耗时time.sleep(times)return {"sleep": times}async…

rc_visard 3D Stereo Senso

1 简介 rc_visard 3D立体视觉传感器 支持的接口标准 GenICam Generic Interface for CamerasGigE Gigabit Ethernet 词汇表 SGM semi-global matching 半全局匹配 SLAM Simultaneous Localization and Mapping 即时定位与地图构建 2 安全 3 硬件规格 坐标系 rc_visar…

TypeScript 中 interface 和 type 的使用#记录

一、interface:接口 interface A{label: string; }const aa ((aObj: A) > {console.log(aObj.label);//123return aObj.label; })aa({label: 123}) 1、可选属性 interface A{label: string;age?: number; } 2、只读属性 interface A{label: string;age?:…

231 基于matlab的北斗信号数据解析

基于matlab的北斗信号数据解析,多通道和单通道接收到的北斗信号数据,利用接收到的北斗数据(.dat .txt文件),进行解析,得到初始伪距,平滑伪距,载波相位,并计算其标准差&am…

代码随想录训练营23day-贪心算法

一、贪心算法 贪心算法核心思想是局部最优,以确定全局最优。当然需要使用数学归纳去总结,但是实际应用过程,可以举反例来验证是不是可以使用贪心算法。参考代码随想录 贪心算法一般分为如下四步: 将问题分解为若干个子问题找出…

翱途开发平台新手上路-体验APP移动手机办公

O2OA(翱途)开发平台拥有配套的移动办公APP,支持IOS和安卓端,用户可在连接O2云之后,使用APP使用移动办公。移动办公APP开放源代码,不会产生任何费用。本篇主要简单讲述初如何完成服务器连接O2云,实现移动办公。 一、先决…

Barnes-Hut t-SNE:大规模数据的高效降维算法

在数据科学和分析中,理解高维数据集中的底层模式是至关重要的。t-SNE已成为高维数据可视化的有力工具。它通过将数据投射到一个较低维度的空间,提供了对数据结构的详细洞察。但是随着数据集的增长,标准的t-SNE算法在计算有些困难,…

什么是IoT?

什么是IoT? IoT,即物联网(Internet of Things),是通过信息传感设备和互联网将各种物品连接起来,实现智能化的识别、定位、跟踪、监控和管理的网络系统。 以下是关于IOT的一些详细解释: 基本概…

JVM之本地方法栈和程序计数器和堆

本地方法栈 本地方法栈是为虚拟机执行本地方法时提供服务的 JNI:Java Native Interface,通过使用 Java 本地接口程序,可以确保代码在不同的平台上方便移植 不需要进行 GC,与虚拟机栈类似,也是线程私有的,…

OCP Java17 SE Developers 复习题13

答案 D, F. There is no such class within the Java API called ParallelStream, so options A and E are incorrect. The method defined in the Stream class to create a parallel stream from an existing stream is parallel(); therefore, option F is correct, and o…

Spring源码中的抽象工厂模式

Spring 框架中广泛运用了抽象工厂模式来实现其核心组件的创建与管理。以下是源码分析: 源码分析: 1. BeanFactory 与其实现 org.springframework.beans.factory.BeanFactory 是 Spring 中最基础的工厂接口,它代表了抽象工厂模式中的“抽象…

Spring Boot分段处理List集合多线程批量插入数据

项目场景: 大数据量的List集合,需要把List集合中的数据批量插入数据库中。 解决方案: 拆分list集合后,然后使用多线程批量插入数据库 1.实体类 package com.test.entity;import lombok.Data;Data public class TestEntity {priv…

Python入门:使用Python实现简单的猜数字游戏

Python是一种解释型、交互式、面向对象的编程语言,其设计哲学强调代码的可读性,并允许开发者用少量代码表达想法。在本文中,我们将通过编写一个简单的猜数字游戏来展示Python的基础知识和编程逻辑。 游戏描述 游戏开始时,程序会…

数字化转型过程中所面临的挑战以及应对这些挑战的策略

随着信息技术的快速发展,企业为了提升运营效率、优化资源配置,往往会在不同部门建立各自的信息系统。然而,这些系统的孤立性、功能重叠以及数据不一致性等问题逐渐凸显,导致企业业务流程受阻,难以形成高效的协同作战能…

Spring源码中的简单工厂模式

Spring 源码中广泛运用了各种设计模式,其中包括简单工厂模式。简单工厂模式在 Spring 中主要用于简化对象的创建过程,将对象的创建逻辑集中管理,从而使得客户端代码无需关心具体的对象创建细节,只需与工厂交互就能获取所需的对象实例。这种设计有助于提高代码的可读性、可维…

高斯溅射融合之路(一)- webgl渲染3d gaussian splatting

大家好,我是山海鲸的技术负责人。之前已经写了一个GIS融合系列。其实CesiumJS的整合有相当的难度,同时也有很多方面的工作,很难在几篇文章内写完,整个山海鲸团队也是投入了接近两年的时间,才把周边整套工具链进行了完善…

prometheus服务端部署

prometheus 安装 下载 # https://prometheus.io/download/wget https://github.com/prometheus/prometheus/releases/download/v2.34.0/prometheus-2.34.0.linux-amd64.tar.gztar -zxf prometheus-2.34.0.linux-amd64.tar.gz -C /data0/prometheus-2.34.0sudo adduser prome…

Linux中inode号与日志分析

一.inode号 1.inode表结构 元信息:每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(meta data 元信息 ) 元数据是存放在inode(index node)表中…

Spring Kafka—— KafkaListenerEndpointRegistry 隐式注册分析

由于我想在项目中实现基于 Spring kafka 动态连接 Kafka 服务,指定监听 Topic 并控制消费程序的启动和停止这样一个功能,所以就大概的了解了一下 Spring Kafka 的几个重要的类的概念,内容如下: ConsumerFactory 作用:…