go语言的基本数据类型

news/2024/5/18 22:06:26/文章来源:https://blog.csdn.net/ens160/article/details/126972146

基本数据类型中的常量已经介绍了 var  const  iota  。此处要对字符串特别说明,字符串也会被认为是基本数据类型,字符串实际在底层原理上与复合类型的数据非常相似。同事go语言支持八进制,6进制,科学计数法。空指针的值是nil。

整型

 go语言的整型和浮点型,复数一样,其值根据正负,大小的不同,分为多个具体类型。比如整型有int8  int16 int32 int64 等类型,但因为编译器的原因,go语言不会将他们严格定义为8位  16位 32 位

rune是int32的别名,使用utf-8进行编码,如果要访问字符串中的字符,比如遍历字符串中的每个字符,可以使用这个类型

整型的取值范围

 整型又分为带符号和无符号两种形式,int为带符号类型,uint为无符号类型。go语言同时支持int和uint这两种类型,他们的长度相同,但具体程度取决于不同编译器的实现

go语言里面也有直接定义好位数的类型  rune int8  int16 int32  int64 byte uint8 uint16 uint32

带符号类型中各个具体类型对应的值范围

int8   -128 -127  无符号类型 uint8  0-255

运算符

go语言里面数值运算符包括2元运算符,一元运算符

二元运算符包括算术运算,逻辑运算,比较运算,运算符优先级按从上到下的递减顺序排列。

在同一个优先级中,使用的左优先结合规则,如果特殊,可以用括号明确优先顺序

算术运算符+ — * / 适用于整型,浮点型和复数,但是取模运算符% 仅用于整型件的运算,取模运算符的符号和被取模数的符号总是一致的,除法运算符/ 的行为则依赖于操作数的类型,;;两个相同的整数类型可以使用下面的二元比较运算符进行比较,比较表达式的结果是布尔类型

如果算术运算的结果过大,就会出现溢出的现象,无论有无符号超出高出的bit位部分将被丢弃,如果原始的数值是有符号类型,数值的正负号可能会出现变化。

布尔型,数字类型和字符串等基本类型都是可比较的。也就是说两个相同类型的值可以用== !=进行比较

一元运算符,包括加法运算符,一元减法运算符,bit位操作运算符

一元加法运算符和一元减法运算符 

位操作运算符&^ 用于按位清空,对于表达式z = x &^y   如果对应y中某 bit为0,那么结果z对应的bit位等于x对应的值,否则z对应的bit位为0

移位运算符  << >> 的含义及说明,x << n x >> n ,n必须为无符号数

浮点型

go语言有两种类型的浮点型,分别为float32 float64 ,尽量使用float64

 

执行上面的代码,会有如上结果。float32输出的结果明显是不对的,这是因为float32是按照默认小数位输出的,但默认的小数点位数并不准确,float64则输出了正确的结果,所以,在使用浮点型是,应尽量使用float64

 

 

复数和布尔类型

go语言提供了两种不同大小的复数类型,分别为conplex64  和complex128 他们分别有float32和float64 组成,复数由实部和虚部组成,内置real,imag函数用于获取复数的实部与虚部

 复数是吧数据的实部和虚部分别进行处理,因其在编程中使用较少,接下来看布尔类型

go语言的波尔类型与其他语言的基本一直,关键字也是bool,值可以使用true false

不过go语言的布尔类型没有强制类型转换,无法把0转换成false

var  b  bool

b  = 0   是错误的

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_11798.aspx

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

相关文章

百度地图API

一、百度地图API接入 1、搜索百度地图开发平台 2、注册百度账号 3、登陆并申请成为开发者 4、在百度地图开发平台的首页选择控制台&#xff0c;在控制台中创建应用 创建好应用以后就能在控制台我的应用中看到这个应用&#xff0c;其中最重要的是AK&#xff0c;这是百度地图…

从0-1,如何用低代码搭建管理系统

关键字&#xff1a;功能模块、流程中心、OA 前言&#xff1a;对于搭建系统&#xff0c;字眼上都知道是怎么回事&#xff0c;但要怎么搭建到最后怎么呈现一个投入运作的系统&#xff0c;估计就很少人知道了。当然作为专业的程序员肯定知道怎么操作&#xff0c;但是不是必须要专业…

IDEA集成Git

介绍 参考视频教程: https://www.bilibili.com/video/BV1vy4y1s7k6?p27 1 配置 Git 忽略文件 1.1为什么要配置 问题 1:为什么要忽略他们&#xff1f; 答&#xff1a;与项目的实际功能无关&#xff0c;不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之 间的差异。…

湖仓一体电商项目(十八):业务实现之编写写入DWD层业务代码

文章目录 业务实现之编写写入DWD层业务代码 一、代码编写 二、​​​​​​​​​​​​​​创建Iceberg-DWD层表 1、在Hive中添加Iceberg表格式需要的包 2、创建Iceberg表 三、代码测试 1、在Kafka中创建对应的topic 2、将代码中消费Kafka数据改成从头开始消费 3、执…

【展馆攻略】展馆室内精准定位导航服务,便捷无忧,所见必达!

近年来&#xff0c;室内定位导航服务被各大商场、园区、景区等场所广泛使用&#xff0c;逐渐融入到人们日常生活中。室内地图从传统的平面信息图发展到智能化3D可视化交互展示&#xff0c;实现了室内综合场景的精准定位导航。 在面对室内或者建筑物遮挡区域&#xff0c;室内导航…

浏览器如何渲染页面?

DOM 浏览器渲染页面的过程就像是盖房子&#xff0c;一般先请求服务器得到HTML文件&#xff0c;HTML文件就相当于网页的框架结构&#xff0c;不过一开始浏览器得到的是显示字节内容的HTML文件&#xff0c;必须要内化为自己看的懂的语言才行&#xff0c;于是就把字节转化为字符&…

vue小案列(hello world)

目录 1 页签图标的报错解决 2 创建vue实例 3 初识Vue分析 1 页签图标的报错解决 1 首先&#xff0c;在我们的html中定义一个容器&#xff0c;然后右键&#xff08;Open with LIve Server&#xff09;打开&#xff0c;需要安装LIve Server插件 打开之后发现控制台报如下错误&a…

2022年服装进销存软件排行榜重磅出炉!

小编调研了一下身边做服装行业的老板&#xff0c;普遍反映如今服装实体店越来越难做了&#xff0c;日常经营过程中&#xff0c;难免会遇到各种问题&#xff1a;商品种类多、款式多、库存多、活动多……这些都让老板们应接不暇&#xff0c;尽管每天早出晚归地管理店铺&#xff0…

怎么音频转文字?快把这些方法收好

相信不少的小伙伴&#xff0c;经常需要对自己的录音文件进行整理归纳吧&#xff0c;其中不乏是课堂的重点知识、会议上的重点纪要、谈判中的重点内容。那小伙伴们平时在整理的时候&#xff0c;大概都需要花费多少时间呢&#xff1f;为了能够将音频的内容完整呈现出来&#xff0…

SpringBoot多数据源

使用场景 在实际开发中&#xff0c;可能遇到多数据源的场景。 业务复杂&#xff08;数据量大&#xff09; 数据分布在不同的数据库中&#xff0c;对业务数据进行垂直拆分。 可以拆分为微服务架构&#xff0c;依赖的业务可以通过远程调用的方式来是实现&#xff0c;那么这种方…

机器学习中常见性能度量汇总

前言 如果你对这篇文章可感兴趣&#xff0c;可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」&#xff0c;查看完整博客分类与对应链接。 回归 在回归任务上&#xff0c;目前最常用的性能度量方式是均方误差 (Mean Squared Error, MSE)&#xff1a; MSE1m∑i1…

flex布局

flex布局 开启flex功能 <html><head><style>.container{border: 1px solid #000;width: 400px;height: 400px;margin-left: 20px;margin-top: 20px;display: flex; // 开启flex布局}.item{width: 100px;height: 100px;color: #fff;text-align: center;line…

kubernetes(2)k8s环境搭建:kubeadm安装、二进制方式安装

环境平台规划 k8s里面之前我们了解过&#xff0c;主要的内容是master和node&#xff0c;所有这里可以划分为 单master集群多master集群 单master集群 缺点&#xff1a;master挂掉后&#xff0c;便不能去管理node节点了 多master集群 与之前的区别便是多了master 服务器硬件…

Prometheus监控进程

Prometheus监控进程 process-export主要用来做进程监控&#xff0c;比如某个服务的进程数、消耗了多少CPU、内存等资源。 一、process-exporter使用 ‍ 1.1 下载 process-exporter process-exporter GibHUB地址 process-exporter 下载地址 process-exporter可以使用命令行…

图解LeetCode——854. 相似度为 K 的字符串(难度:困难)

一、题目 对于某些非负整数 k &#xff0c;如果交换 s1 中两个字母的位置恰好 k 次&#xff0c;能够使结果字符串等于 s2 &#xff0c;则认为字符串 s1 和 s2 的 相似度为 k 。 给你两个字母异位词 s1 和 s2 &#xff0c;返回 s1 和 s2 的相似度 k 的最小值。 二、示例 2.1…

C语言手写HTTPD网站服务器

网站服务器&#xff08;HTTPD&#xff09;已经有很多版本&#xff0c;但是大部分对初学者都非常不友好。适合初学者学习的httpd服务器&#xff0c;最负盛名的当数tinyhttpd, 但是这个版本&#xff0c;是基于Linux系统的&#xff0c;而且配套的CGI也是使用perl语言写的&#xff…

宝塔面板修改secure_file_priv设置

1、secure_file_priv文件作用 mysql读取系统文件权限的设置参数 2、查询secure_file_priv设置 show variables like %secure%; 3、修改secure_file_priv设置 设置 secure_file_priv"/" 需要修改mysql配置文件my.cnf my.cnf文件有两个位置 /etc/my.cnf /www/serv…

线程安全简述

目录 1、线程是否安全 2、出现线程安全的原因如下&#xff1a; 3、原子性问题 4、synchronized关键字 1、锁对象 2、用法&#xff1a; 3、可重入锁 5、内存可见性 6、volatile关键字 7、JMM 1、线程是否安全 线程不安全就是一些代码在多线程的运行状态下&#xff0c…

一个基于.Net Core开发的适合外贸商城系统

今天给大家推荐一个适合外贸的商城系统。 项目简介 这是一个基于.Net Core开发的&#xff0c;兼容PC、平板、移动端的商城系统。被下载次数超过300w&#xff0c;拥有最活跃的成员&#xff0c;由专业团队开发与支持。支持PayPal、信用卡、发票支付。 技术架构 1、跨平台&…

Jmeter电商系统压测实战<二>

目录一、Jmeter优化tips二、Jmeter的使用建议-参数配置1. XX:MaxMataspaceSize&#xff08;jdk8的参数&#xff09;2. -Xmx2048m3. -Xms1g三、Jmeter插件1. 介绍及安装2. 常用插件四、Jmeter日志收集1. 概览2. elk&#xff0c;kibana和es的安装和配置3. Prometheus和Node Expor…