当前位置: 首页 > news >正文

Go基础-类型

文章目录

  • 1 bool
  • 2 有符号整数
  • 3 无符号整数
  • 4 浮点数
  • 5 复数
  • 6 string
  • 7 关于类型转型

1 bool

bool类型有两个值,一个是true,一个是false。

测试

package mainimport "fmt"func main() {a := trueb := falsec := a && bd := a || bfmt.Println(a, b, c, d) //true false true false}

2 有符号整数

int8

int8:表示 8 位有符号整型大小:8 位范围:-128~127

int16

int16:表示 16 位有符号整型大小:16 位范围:-32768~32767

int32

int32:表示 32 位有符号整型大小:32 位范围:-2147483648~2147483647

int64

int64:表示 64 位有符号整型大小:64 位范围:-9223372036854775808~9223372036854775807

int类型根据底层平台不同,具有不同的数据长度,32位电脑的int类型占4个字节,范围是int32的范围、64位电脑的int类型占8个字节,范围是int64的范围。

测试

package mainimport ("fmt""unsafe"
)func main() {a := 90fmt.Printf("type of a : %T, size of a : %d", a, unsafe.Sizeof(a))// type of a : int, size of a : 8
}

因为我的系统是64位的,所以int类型占用8个字节,64位。

3 无符号整数

uint8

uint8:表示 8 位无符号整型大小:8 位范围:0~255

uint16

uint16:表示 16 位无符号整型大小:16 位范围:0~65535

uint32

uint32:表示 32 位无符号整型大小:32 位范围:0~4294967295

uint64

uint64:表示 64 位无符号整型大小:64 位范围:0~18446744073709551615

uint

uint:根据不同的底层平台,表示 32 或 64 位无符号整型。大小:在 32 位系统下是 32 位,而在 64 位系统下是 64 位。范围:在 32 位系统下是 0~4294967295,而在 64 位系统是 0~18446744073709551615。

4 浮点数

float32 32位浮点数

float64 64位浮点数

测试

package mainimport ("fmt""unsafe"
)func main() {a, b := 3.14, 9.18sum := a + bdiff := a - bfmt.Println("a+b=", sum, "a-b=", diff)fmt.Printf("type of sum is %T, sizeof sum is %d", sum, unsafe.Sizeof(sum))/*a+b= 12.32 a-b= -6.039999999999999type of sum is float64, sizeof sum is 8*/
}

5 复数

complex 64

实部和虚部都是float32形成的复数是complex64

complex 128

实部和虚部都是float64形成的复数是complex128

go语言通过内置方法complex构造复数,complex接受两个参数,分别是实部和虚部

测试

package mainimport ("fmt""unsafe"
)func main() {a := 6 + 8ifmt.Printf("type of a:%T,size of a:%d", a, unsafe.Sizeof(a))//type of a:complex128,size of a:16
}

测试2

package mainimport ("fmt""unsafe"
)func main() {var a, b float32 = 5, 7c := complex(a, b)fmt.Printf("type of a:%T,size of a:%d", c, unsafe.Sizeof(c))// type of a:complex64,size of a:8
}

6 string

字符串是由一个个字节组成的字节数组

package mainimport "fmt"func main() {firstname := "kobe"lastname := "bryant"fullname := firstname + " " + lastnamefmt.Printf("全名:%s", fullname) //全名:kobe bryant}

7 关于类型转型

Go是强类型语言,不支持C语言那种隐式类型转换

package mainimport "fmt"func main() {a := 1b := 2.2//c := float64(a) + b  正确 返回3.2//c := a + int(b)  正确 返回3//c:=a+b 错误  fmt.Println(c)
}

不同类型操作会报错

package mainimport "fmt"func main() {a := 1b := 2.2//c := float64(a) + b// c := a + int(b)c := a + b // invalid operation: a + b (mismatched types int and float64)fmt.Println(c)
}

相关文章:

Go基础-类型

文章目录1 bool2 有符号整数3 无符号整数4 浮点数5 复数6 string7 关于类型转型1 bool bool类型有两个值,一个是true,一个是false。 测试 package mainimport "fmt"func main() {a : trueb : falsec : a && bd : a || bfmt.Println(a…...

良许翻天覆地的2022年

大家好,我是良许,新年快乐呀~ 在我女室友坚持不懈的努力之下,2022年的最后一天我终于被她传染了,阳了~ 此时的我,正顶着37多度的低烧写下这篇年终总结。 2022年,对于大多数人而言,封控是主旋…...

node+vue微信小程序的社区后勤报修系统

社区后勤报修系统小程序进行总体设计和详细设计。总体设计主要包括小程序功能设计、小程序总体结构设计、小程序数据结构设计和小程序安全设计等:详细设计主要包括社区后勤报修系统小程序数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对社区后…...

WSL(Windows Subsystem for Linux)

一、WSL优势 •传统方式:获取Linux操作系统环境,必须安装完整的虚拟机,如VMware•WSL:以非常轻量化的方式,得到Linux系统环境总结:WSL更方便,简单、好用、轻量化、省内存 二、什么是WSL ①不…...

华为OD机试题 - 单词反转(JavaScript)

最近更新的博客 华为OD机试题 - 任务总执行时长(JavaScript) 华为OD机试题 - 开放日活动(JavaScript) 华为OD机试 - 最近的点 | 备考思路,刷题要点,答疑 【新解法】 华为OD机试题 - 最小步骤数(JavaScript) 华为OD机试题 - 任务混部(JavaScript) 华为OD机试题 - N 进…...

人工智能原理复习 | 产生式系统的搜索策略

文章目录 一、回溯策略二、图搜索策略三、A 算法与 A* 算法CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 主要内容:回溯策略、图搜索策略(无信息的图搜索、启发式的图搜索)、A 算法与 A* 算法 一、回溯策略 回溯算法(BackTracking Algorithm) 实际上是一个类似枚举的搜…...

初始C语言 - 数组(一维数组、二维数组、数组越界、数组传参)

目录 一、一维数组的创建和初始化 1、数组的创建 2、 数组的初始化 3.一维数组的使用 数组通过下标来访问 总结: 1. 数组是使用下标来访问的,下标是从0开始。 2. 数组的大小可以通过计算得到。 4、一维数组在内存中的存储 二、 二维数组的创建和初始化 1.二…...

人工智能原理复习 | 可分解产生式系统的搜索策略

文章目录 一、前言二、基础知识三、AO* 算法四、博弈树搜索五、总结CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 主要内容: 与 / {/} /或图搜索、AO* 算法、极大极小过程、...

线段树(维护区间信息)

一,定义: 可以在logN时间内实现区间修改,单点修改,区间查询等操作的工具 二,思路(修改无乘法时): 1,建树 通过把区间不断二分建立一颗二叉树 我们以维护一个数组a{1…...

C语言 基于Ncurse库的贪吃蛇游戏项目

为了敲键盘及时响应&#xff0c;需要用到ncurse 测试代码&#xff1a; ncurse1.c /* ncurse1.c */ #include <curses.h> //ncurse的头文件。int main() {char c;int i 0;//ncurse界面的初始化函数。initscr(); for(i0;i<2;i){c getch();printw("\n");//…...

【Java基础】Java语言特性

认识Java java语言的执行过程 编写纯文本文件 .java 经过javac编译器(java complier)编译 .class .class是二进制的字节码 在源文件中定义几个类&#xff0c;就会生成几个 由JVM运行 .class JVM把字节码编译成可以在处理器上运行的高性能的本地代码&#xff08;native code),…...

python进阶--Numyp库(一)

一、Numpy库介绍 NumPy&#xff08;Numerical Python&#xff09;是Python的⼀种开源的数值计算扩展。提供多维数组对象&#xff0c;各种派⽣对象&#xff08;如掩码数组和矩阵&#xff09;&#xff0c;这种⼯具可⽤来存储和处理⼤型矩阵&#xff0c;⽐Python⾃身的嵌套列表&am…...

CV学习笔记-Inception

CV学习笔记-Inception 目录 文章目录CV学习笔记-Inception目录1. 常见的卷积神经网络2. Inception(1) Inception提出背景(2) Inception module 核心思想3. Inception的历史版本(1) InceptionV1-GoogleNet(2) InceptionV2(3) InceptionV3(4) Inception V44. Inception模型的特点…...

注意力机制笔记——结合沐神和B站老弓up主

B站【大白话浅谈【注意力机制】】 聚类 是针对 样本, 注意力机制是针对样本相关性,来进行计算的 自注意力机制 指的是 query ,key,value都是同一个部分。 可以学到 类似的 短语 ,和 语义特征。如its 指代的对象。 评论区大佬 根据这篇论文《Effective Approaches to…...

建议收藏,轻松搞懂区块链

未来已来&#xff0c;只是不均衡地分布在当下 大家好&#xff0c;我是菜农&#xff0c;欢迎来到我的频道。 本文共 5844字&#xff0c;预计阅读 30 分钟 区块链是近些年来最热门的前沿技术&#xff0c;被认为是未来十几年对金融、物联网、医疗等诸多领域产生最大影响的"…...

php设计一个新春祝福墙

记得十几年前的时候&#xff0c;每到春节&#xff0c;各大网站都会建一个祝福墙&#xff0c;上面挂满网友的新年寄语。这些年随着移动互联网的高速发展&#xff0c;web的新春祝福墙越来越少了。今天&#xff0c;咱们就来考考古&#xff0c;用快速原型法进行设计。原型设计采用M…...

KubeSphere 社区双周报 | OpenFunction 集成 WasmEdge | 2023.02.03-02.16

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者&#xff0c;并对近期重要的 PR 进行解析&#xff0c;同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为&#xff1a;2023.02.03-2023.…...

数字IC/FPGA 秋招知识点不全面整理

1. 引言 这篇文章的由来 秋招的时候,刚开始复习一些知识点的时候没有什么思路,只是盲目的看相关的书籍和资料,结果是留在脑子中的知识很有限,而且不够系统,在我需要它的时候,并不能很快的回忆起来。 于是就想着把一些典型的知识整理成一个文档,在进行刷题的时候可以比…...

你知道java8是如何排序Map嘛?

在Java中&#xff0c;有多种方法可以对Map进行排序&#xff0c;但是我们将重点介绍Java 8 Stream&#xff0c;这是实现目标的一种非常优雅的方法。 学习一下HashMap的merge()函数 在学习Map排序之前&#xff0c;有必要讲一下HashMap的merge()函数&#xff0c;该函数应用场景就…...

【李忍考研传】一、李忍

“老师&#xff0c;我来回答&#xff01;” “非常好&#xff0c;我记得你是叫……呃……是李念同学吗&#xff1f;” “不&#xff0c;老师&#xff0c;我叫李忍。” “好&#xff0c;你来回答一下这个问题。” “这题用海明码校验的知识&#xff0c;能检错一位纠错一位&a…...

Livox_ros_driver vs driver2:消息类型详解与ROS生态兼容性避坑指南

Livox_ros_driver与driver2深度对比&#xff1a;消息架构解析与ROS生态适配实战 当Livox发布HAP等新一代激光雷达时&#xff0c;技术团队常面临驱动版本选择的困境。livox_ros_driver与livox_ros_driver2看似只是版本迭代&#xff0c;实则反映了ROS生态中传感器接口标准化的深层…...

【Matlab】MATLAB教程:数据插值interp1(案例:interp1(x,y,xi,‘linear‘);应用:数据补全、插值)

MATLAB教程:数据插值interp1(案例:interp1(x,y,xi,linear);应用:数据补全、插值) 在科研实验、工程监测、信号采集等各类数据获取场景中,受限于设备精度、测试条件、环境干扰等因素,采集到的原始数据往往存在**数据点稀疏、采样间隔不均、局部数据缺失**等问题,直接使…...

28:L构建AI Agent安全:蓝队的智能代理防御

作者&#xff1a; HOS(安全风信子) 日期&#xff1a; 2026-03-19 主要来源平台&#xff1a; GitHub 摘要&#xff1a; AI Agent的发展为安全防御带来了新的可能性&#xff0c;但也带来了新的安全挑战。基拉等对手可能利用AI Agent进行攻击。L深入研究AI Agent安全技术&#xff…...

2026年3月27日NSSCTF之[SWPUCTF 2021 新生赛]ez_unserialize

[SWPUCTF 2021 新生赛]ez_unserialize 开启环境&#xff0c;进入并查看&#xff0c;可以看到一个动图&#xff0c;选择查看网页源码&#xff0c;得到 看到有隐藏信息&#xff0c;根据隐藏信息可以猜测&#xff0c;可以利用robots协议查看相关信息&#xff0c;访问得到 可以得…...

老旧Mac如何重获新生?OCLP-Mod带来的系统升级解决方案

老旧Mac如何重获新生&#xff1f;OCLP-Mod带来的系统升级解决方案 【免费下载链接】OCLP-Mod A mod version for OCLP,with more interesting features. 项目地址: https://gitcode.com/gh_mirrors/oc/OCLP-Mod 随着科技的快速迭代&#xff0c;许多曾经性能卓越的Mac设备…...

python-flask-djangol框架的青少年编程学习平台

目录技术选型与架构设计功能模块划分开发阶段规划安全与扩展性示例代码片段&#xff08;Flask路由&#xff09;部署与运维教育适配项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术选型与架构设计 采用Python生态的Flask或D…...

咱就说中小厂房、仓库的火灾报警系统,用S7-200 PLC加组态王真的是性价比天花板——够稳定、好上手,成本还低,完全满足日常需求

基于S7-200 PLC和组态王火灾报警控制系统 我们主要的后发送的产品有&#xff0c;带解释的梯形图接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面咱先从最基础的IO分配说起&#xff0c;直接给大家上我常用的分配表&#xff08;都是经过3个项目验证的&#xff0c;靠谱…...

Agent 性能优化:降低 Token 消耗的 5 个技巧

Agent 性能优化&#xff1a;降低 Token 消耗的 5 个技巧系列文章&#xff1a; 《AI Agent 开发实战》第 7 期 难度等级&#xff1a; ⭐⭐⭐⭐ 预计耗时&#xff1a; 35 分钟&#x1f3af; 本文目标 学会优化 AI Agent 性能&#xff1a; ✅ 减少 Token 消耗✅ 提高响应速度✅ 降…...

OpenClaw硬件监控:nanobot定时报告系统资源使用情况

OpenClaw硬件监控&#xff1a;nanobot定时报告系统资源使用情况 1. 为什么需要自动化硬件监控 去年夏天&#xff0c;我的开发机因为内存泄漏问题突然宕机&#xff0c;导致一个重要的线上演示被迫推迟。当时我就意识到&#xff0c;手动检查系统资源的方式既不及时也不可靠。直…...

ChineseChess-AlphaZero技术架构与实践指南:从环境搭建到模型训练

ChineseChess-AlphaZero技术架构与实践指南&#xff1a;从环境搭建到模型训练 【免费下载链接】ChineseChess-AlphaZero Implement AlphaZero/AlphaGo Zero methods on Chinese chess. 项目地址: https://gitcode.com/gh_mirrors/ch/ChineseChess-AlphaZero 副标题&…...