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

Go语言--语法基础4--基本数据类型--整数类型

整型是所有编程语言里最基础的数据类型。 Go 语言支持如下所示的这些整型类型。
需要注意的是, int int32 Go 语言里被认为是两种不同的类型,编译器也不会帮你自动做类型转换,
比如以下的例子会有编译错误:
var value2 int32
value1 := 64 // value1 将会被自动推导为 int 类型
value2 = value1 // 编译错误
编译错误类似于:
cannot use value1 (type int) as type int32 in assignment
使用强制类型转换可以解决这个编译错误:
value2 = int32(value1) // 编译通过
当然,开发者在做强制类型转换时,需要注意数据长度被截短而发生的数据精度损失
(比如将浮点数强制转为整数)和值溢出(值超过转换的目标类型的值范围 时)问题。
整型的使用细节:
1 golang 整数类型分为:有符号和无符号, int uint 的大小和系统有关;
2 golang 整型默认申明为 int
3 fmt.Printf("num 的数据类型是 %T ,占的字节数是 %d", num,unsafe.Sizeof(num))
4 golang 使用整数类型时,遵从保小不保大原则,即在保证程序正常运行的
情况下,  尽量使用占用空间小的数据类型;
5 bit :计算机中最小的存储单位, byte :计算机中基本的存储单元;
计算类型的大小
package main
import (
"fmt" 
"unsafe"
)
func main() {
var a int ;
fmt.Printf("%T unsafe = %d\n",a,unsafe.Sizeof(a))
}
Go 语言中 unsafe.Sizeof() 函数:
1 、对不同长度的字符串, unsafe.Sizeof() 函数的返回值都为 16 ,这是因为string 类型对应一个结构体,该结构体有两个域,第一个域指向该字符串的指针,第二个域为字符串的长度,每个域占 8 个字节,但是并不包含指针指向的字符串的内容,这就解释了unsafe.Sizeof() 函数对 string 类型的返回值始终是 16
2 、对不同长度的数组, unsafe.Sizeof() 函数的返回值随着数组中的元素个数的增加而增加, 这是因为unsafe.Sizeof() 函数总是在编译期就进行求值,而不是在运行时,这就意味着,unsafe.Sizeof() 函数的返回值可以赋值给常量,在编译期求值,意味着可以获得数组所占的内存大小,因为数组总是在编译期就指明自己的容量,并且在以后都是 不可变的。
3 、对所含元素个数不同的切片, unsafe.Sizeof() 函数的返回值都为 24 ,这是因为对切片来说,
unsafe.Sizeof() 函数返回的值对应的是切片的描述符,而不是切片所指向的内存的大小, 因此都是24。

相关文章:

Go语言--语法基础4--基本数据类型--整数类型

整型是所有编程语言里最基础的数据类型。 Go 语言支持如下所示的这些整型类型。 需要注意的是, int 和 int32 在 Go 语言里被认为是两种不同的类型,编译器也不会帮你自动做类型转换, 比如以下的例子会有编译错误: var value2 in…...

MCP基础学习计划详细总结

MCP基础学习计划详细总结 1.MCP概述与基础 • MCP(Model Context Protocol):由Anthropic公司于2024年11月推出,旨在实现大型语言模型(LLM)与外部数据源和工具的无缝集成。 • 核心功能: • 资…...

大模型到底是怎么产生的?一文揭秘大模型诞生全过程

前言 大模型到底是怎么产生的呢? 本文将从最基础的概念开始,逐步深入,用通俗易懂的语言为大家揭开大模型的神秘面纱。 大家好,我是大 F,深耕AI算法十余年,互联网大厂核心技术岗。 知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。 【专栏介绍】: 欢迎关注《…...

Node.js介绍

一、Node.js 核心定义 本质:基于 Chrome V8 引擎构建的 JavaScript 运行时环境,用于在服务器端执行 JavaScript 代码。 定位:非阻塞、事件驱动的 I/O 模型,专为高并发、实时应用设计。 诞生:2009 年由 Ryan Dahl 发布…...

DRABP_NSGA2最新算法神圣宗教算法优化BP做代理模型,NSGA2反求最优因变量和对应的最佳自变量组合,Matlab代码

一、神圣宗教算法(DRA)优化BP代理模型 1. DRA的核心原理 DRA是一种模拟宗教社会层级互动的元启发式算法,通过“追随者学习”、“传教士传播”和“领导者引导”三种行为模式优化搜索过程。在BP神经网络优化中,DRA通过以下步骤调整…...

Android Studio 在 Windows 上的完整安装与使用指南

Android Studio 在 Windows 上的完整安装与使用指南—目录 一、Android Studio 简介二、下载与安装1. 下载 Android Studio2. 安装前的依赖准备3. 安装步骤 三、基础使用指南1. 首次启动配置2. 创建第一个项目3. 运行应用4. 核心功能 四、进阶功能配置1. 配置 SDK 和工具2. 自定…...

Matlab学习笔记五十:循环语句和条件语句的用法

1.说明 循环语句:for…end,while…end 条件语句:if…end,switch…case…end 其中if语句语法还可以是:for…else…end,for…elseif…else…end 2.简单for程序实例 for x1:5 %循环遍历1~5 yx5 end [1…...

大漠流光:科技牧歌的未来-内蒙古鄂尔多斯

故事背景 故事发生在中国内蒙古鄂尔多斯,这里是蒙古族文化的摇篮,也是科技与自然交织的未来舞台。在这片广袤的土地上,蒙古族少女、老牧人和工程师们共同谱写着一曲科技与传统共生的赞歌。未来的鄂尔多斯,不再是单一的沙漠或草原…...

MySQL与Oracle深度对比

MySQL与Oracle深度对比:数据类型与SQL差异 一、数据类型差异 1. 数值类型对比 数据类型MySQLOracle整数TINYINT, SMALLINT, MEDIUMINT, INT, BIGINTNUMBER(精度) 或直接INT(内部仍为NUMBER)小数DECIMAL(p,s), FLOAT, DOUBLENUMBER(p,s), FLOAT, BINARY_FLOAT, BI…...

GESP2023年12月认证C++七级( 第一部分选择题(6-10))

选择题第八题&#xff1a; #include <iostream> #include <cstring> #include <algorithm> using namespace std;const int MAXN 1005; // 假设字符串长度不超过1000 char s1[MAXN], s2[MAXN]; int dp[MAXN]; // 一维DP数组int main() {while (cin >>…...

腾势品牌欧洲市场冲锋,科技豪华席卷米兰

在时尚与艺术的交汇点&#xff0c;米兰设计周的舞台上&#xff0c;一场汽车界的超级风暴正在酝酿&#xff0c;腾势品牌如一头勇猛无畏的雄狮&#xff0c;以雷霆万钧之势正式向欧洲市场发起了冲锋。其最新力作——腾势Z9GT的登场&#xff0c;仿佛是一道闪电划破夜空&#xff0c;…...

双指针、滑动窗口

一、双指针 双指针是指在算法中使用两个指针&#xff08;通常是索引或迭代器&#xff09;来解决问题&#xff0c;通过移动这两个指针来扫描数据结构&#xff08;如数组或链表&#xff09;&#xff0c;从而达到高效的目的。双指针的核心思想是利用两个指针的相对位置或移动方式…...

《数据密集型应用系统设计》读书笔记:第二章

我们继续拆解 第2章&#xff1a;数据模型与查询语言。这章讲的是如何组织数据、如何访问数据&#xff0c;也是你选择数据库种类的根本依据。 第2章&#xff1a;数据模型与查询语言 一、为何数据模型重要&#xff1f; Martin 开篇就强调&#xff0c;数据模型影响&#xff1a; …...

ubuntu24.04LTS安装向日葵解决方案

去向日葵官方下载ubuntu使用的deb包 向日葵 输入如下命令安装&#xff0c;将具体版本修改成自己下载的版本 andrew in ~/下载 λ sudo dpkg -i SunloginClient_15.2.0.63064_amd64.deb 正在选中未选择的软件包 sunloginclient。 (正在读取数据库 ... 系统当前共安装有 290947…...

Python基础语法1

目录 1、认识Python 1.1、计算机 1.2、编程 1.3、编程语言的类别 1.4、Python背景 1.5、Python的应用场景 1.6、Python的优缺点 1.7、Python前景 1.8、Python 环境 2、常量和表达式 3、变量和类型 3.1、定义变量 3.2、使用变量 3.3、变量的类型 3.3.1、整形 3.3…...

深度学习中多机训练概念下的DP与DDP

在进行单机多卡/多机多卡训练时&#xff0c;通常会遇到DP与DDP的概念&#xff0c;为此基于kimi大模型对二者的差异进行梳理。使用DP/DPP的核心是数据并行&#xff0c;也就是根据显卡数量对数据集进行分治&#xff0c;每一个显卡都有一个独立完整的模型和一个局部数据。在多个显…...

设计模式(结构型)-桥接模式

目录 摘要 定义 类图 角色 具体实现 优缺点 优点 缺点 使用场景 使用案例 JDBC 和桥接模式 总结 摘要 在软件开发领域&#xff0c;随着系统规模和复杂性的不断攀升&#xff0c;如何设计出具有良好扩展性、灵活性以及可维护性的软件架构成为关键挑战。桥接模式作为一…...

精品推荐 | 湖仓一体电商数据分析平台实践教程合集(视频教程+设计文档+完整项目代码)

精品推荐&#xff0c;湖仓一体电商数据分析平台实践教程合集&#xff0c;包含视频教程、设计文档及完整项目代码等资料&#xff0c;供大家学习。 1、项目背景介绍及项目架构 2、项目使用技术版本及组件搭建 3、项目数据种类与采集 4、实时业务统计指标分析一——ODS分层设计与数…...

【LangChain少样本提示工程实战】FewShotPromptTemplate原理与应用解析——附运行代码

目录 引言 重点提炼 一、FewShotPromptTemplate作用 1. ​​整合示例与模板&#xff0c;构建结构化提示​​ 2. ​​引导模型理解任务逻辑​​ 3. ​​提升少样本场景下的模型性能​​ 4. ​​支持动态示例选择&#xff08;扩展功能&#xff09;​​ 5. ​​与其他模块…...

基于LSTM的文本分类3——模型训练

前言 之前已经完成了模型搭建和文本数据处理&#xff0c;现在做一下模型训练。 源码 # -*- coding: UTF-8 -*- import numpy as np import torch import torch.nn as nn import torch.nn.functional as F from sklearn import metrics # 导入评估指标 import time from uti…...

【JS】关于原型/原型链

本文会讲解什么是原型&#xff0c;什么是原型链&#xff0c;以及查找原型的方法&#xff0c;最后会实现一个函数&#xff1a;判断某对象是否有某属性。 定义 原型&#xff1a;函数都有prototype属性&#xff0c;称作原型/原型对象 原型可以放一些方法和属性&#xff0c;共享…...

猫咪如厕检测与分类识别系统系列【五】信息存储数据库改进+添加猫咪页面制作+猫咪躯体匹配算法架构更新

前情提要 家里养了三只猫咪&#xff0c;其中一只布偶猫经常出入厕所。但因为平时忙于学业&#xff0c;没法时刻关注牠的行为。我知道猫咪的如厕频率和时长与健康状况密切相关&#xff0c;频繁如厕可能是泌尿问题&#xff0c;停留过久也可能是便秘或不适。为了更科学地了解牠的如…...

k8s的配置文件总结

在 Kubernetes 中&#xff0c;配置文件 是定义集群资源的核心&#xff0c;通常以 YAML 或 JSON 格式编写。以下是 Kubernetes 中关键的配置文件类型及其作用&#xff1a; 1. 核心工作负载配置 (1) Deployment • 用途&#xff1a;定义无状态应用的 Pod 副本管理策略&#xff…...

插值算法 - 最近邻插值实现

目录 1. 导入必要的库 2. nearest_neighbor_interpolation 3. 测试代码 数学原理 完整代码 本文实现了基于最近邻插值算法的图像缩放功能。 它使用 Python 编写,主要依赖于NumPy和PIL(Python Imaging Library)库。 NumPy用于高效的数值计算,而PIL仅用于图像的加载和…...

QEMU源码全解析 —— 块设备虚拟化(19)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(18) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 《KVM实战 —— 原理、进阶与性能调优》—— 任永杰 程舟,机械工业出版社 特此致谢! QEMU启动…...

常见的归一化(Normalization)方法

本文详解深度学习中常见的归一化方法。 【归一化是将数据按比例缩放&#xff0c;使之落入一个特定的区间】目录 1. 批量归一化&#xff08;Batch Normalization&#xff0c;BN&#xff09;1.1 数学原理1.2 代码示例 2. 层归一化&#xff08;Layer Normalization&#xff0c;LN&…...

架构师面试(二十九):TCP Socket 编程

问题 今天考察网络编程的基础知识。 在基于 TCP 协议的网络 【socket 编程】中可能会遇到很多异常&#xff0c;在下面的相关描述中说法正确的有哪几项呢&#xff1f; A. 在建立连接被拒绝时&#xff0c;有可能是因为网络不通或地址错误或 server 端对应端口未被监听&#x…...

【高性能缓存Redis_中间件】二、redis进阶 高级特性及应用

一、前言 在第一篇文章中&#xff0c;我们已经对 Redis 消息队列有了基础的认识&#xff0c;掌握了其基本使用方法。然而&#xff0c;在实际的复杂业务场景中&#xff0c;仅仅运用基础功能是远远不够的。本篇文章将深入探讨 Redis 消息队列的高级特性&#xff0c;如消息确认机…...

vs2022 pcl1.15.0注意点

pcl1.15.0的版本变化很大&#xff0c;其中有一个地方需要设置成如下图所示 如果不设置生成的时候可能有以下错误&#xff1a; 严重性 代码 说明 项目 文件 行 禁止显示状态 详细信息 错误 C1189 #error: "Potential runtime error due to…...

React Router路由

例子 // 创建Router实例对象 const router createBrowserRouter([{path:/login,element:<div>我是登录</div>},{path:/article,element:<div>我是文章</div> }])在jsx中配置一个RouterProvider组件 绑定 router{router} 常规的组件配置...

深度学习(一)

(Ⅰ)神经网络和深度学习 一&#xff0c;ReLU激活函数 ReLU(Rectified Linear Unit)函数&#xff0c;输入大于0时&#xff0c;直接输出该值&#xff1b;输入小于0时&#xff0c;输出0 代码实现&#xff1a; 图中的每个节点都可以是ReLU激活函数的一部分 二&#xff0c;循环神经…...

【LeetCode 热题100】二叉树遍历入门:从中序遍历到层序与右视图(力扣94 / 102/199)(Go语言版)

&#x1f333; 二叉树遍历入门&#xff1a;从中序遍历到层序与右视图 本文涵盖 LeetCode 上的三道基础但极具代表性的二叉树遍历题&#xff1a; 二叉树的中序遍历 二叉树的层序遍历 二叉树的右视图 通过这些题目&#xff0c;我们将从 DFS 到 BFS&#xff0c;深入理解如何处理…...

Tauri 2.3.1+Leptos 0.7.8开发桌面应用--Sqlite数据库的写入、展示和选择删除

在前期工作的基础上&#xff08;Tauri2Leptos开发桌面应用--Sqlite数据库操作_tauri sqlite-CSDN博客&#xff09;&#xff0c;尝试制作产品化学成分录入界面&#xff0c;并展示数据库内容&#xff0c;删除选中的数据。具体效果如下&#xff1a; 一、前端Leptos程序 前端程序主…...

MySQL 5.7.43 二进制安装指南:从零开始的高效快速实现安装部署

目录 引言&#xff1a;为什么选择二进制安装&#xff1f; 1 环境准备 1.1 基础环境检查 1.2 系统安全设置 2 系统优化配置 2.1 磁盘调度策略 2.2 系统资源限制 3 mariadb删除 4 依赖包安装 5 MySQL二进制安装包下载 6 MySQL安装部署 6.1 解压安装包 6.2 创建用户以…...

使用U盘安装 ubuntu 系统

1. 准备U 盘制作镜像 1.1 下载 ubuntu iso https://ubuntu.com/download/ 这里有多个版本以供下载&#xff0c;本文选择桌面版。 1.2 下载rufus https://rufus.ie/downloads/ 1.3 以管理员身份运行 rufus 设备选择你用来制作启动项的U盘&#xff0c;不能选错了&#xff1b;点…...

【家政平台开发(42)】筑牢家政平台安全防线:安全测试与漏洞修复指南

本【家政平台开发】专栏聚焦家政平台从 0 到 1 的全流程打造。从前期需求分析,剖析家政行业现状、挖掘用户需求与梳理功能要点,到系统设计阶段的架构选型、数据库构建,再到开发阶段各模块逐一实现。涵盖移动与 PC 端设计、接口开发及性能优化,测试阶段多维度保障平台质量,…...

JavaWeb-04-Web后端基础(SpringBootWeb、HTTP协议、分层解耦、IOC和DI)

目录 一、SpringBootWeb入门 1.1 概述 1.2 入门程序 1.2.1 需求 1.2.2 开发步骤 1.3 入门解析 二、HTTP协议 2.1 HTTP概述 2.1.1 介绍 2.1.2 特点 2.2 HTTP请求协议 2.2.1 介绍 2.2.2 获取请求数据 2.3 HTTP响应协议 2.3.1 格式介绍 2.3.2 响应状态码 2.3…...

随笔 20250413 Elasticsearch 的 term 查询

你这个问题非常经典&#xff0c;来自于 Elasticsearch 的 term 查询是 ✅精确匹配&#xff08;case-sensitive&#xff0c;大小写敏感&#xff09;&#xff01; &#x1f9e8; 为什么查不到 "World"&#xff1f; 你的查询语句是&#xff1a; GET /movie/_search {&…...

zk(Zookeeper)实现分布式锁

Zookeeper实现分布式锁 1&#xff0c;zk中锁的种类&#xff1a; 读锁&#xff1a;大家都可以读&#xff0c;要想上读锁的前提&#xff1a;之前的锁没有写锁 写锁&#xff1a;只有得到写锁的才能写。要想上写锁的前提是&#xff1a;之前没有任何锁 2&#xff0c;zk如何上读锁 创…...

操作系统简要概述

操作系统是计算机系统的核心软件&#xff0c;它管理和控制计算机硬件与软件资源&#xff0c;为用户提供方便、高效、安全的使用环境。以下是关于操作系统的详细介绍&#xff1a; 一、定义 操作系统&#xff08;Operating System&#xff0c;简称 OS&#xff09;是计算机硬件与…...

开漏模式的触发条件和工作状态

MOS管的漏-栅-源三极 漏极开路--开漏 电路整体概述 这是开漏&#xff08;Open - Drain&#xff09;电路结构&#xff0c;核心由输出控制模块和一对互补的MOS管&#xff08;P - MOS和N - MOS&#xff09;组成。开漏电路的特点是MOS管漏极开路&#xff0c;这种结构常用于需要实现…...

【Java学习笔记】Java第一课,梦开始的地方!!!

目录 1. 基本内容介绍和软件安装 2. 快速入门之第一个程序 hello world 3. 学习方法 基本介绍和软件安装 一、 Java 岗位与应用场景 说明&#xff1a;java 基础也称javaSE 岗位 1. javaEE 软件工程师 电商领域 团购 众筹 sns&#xff08;社交网络&#xff09; 教育 金…...

共享内存技术

一、共享内存 共享内存是一种高效的 进程间通信&#xff08;IPC&#xff09; 机制&#xff0c;允许多个进程直接访问同一块物理内存区域&#xff0c;无需通过内核缓冲区或文件进行数据拷贝。它通常用于需要 低延迟、高吞吐量 的数据交换场景&#xff08;如实时系统、高频交易、…...

Lc 大数运算--快速幂 | 统计好数字的数目

快速幂算法是一种高效计算大数幂运算的方法&#xff0c;能将时间复杂度从传统算法的O(n)降低到O(log n)。它的核心思想是 分解指数分治思想&#xff0c;类似生活中的「拆快递」—— 把大包裹拆成小份&#xff0c;分批处理更高效。 一、生活示例&#xff1a;存钱罐的复利计算 假…...

Linux内存管理架构(2)

4.虚拟地址空间布局 4.1虚拟地址空间划分 对于64位处理器&#xff0c;目前不支持完全的64位虚拟地址 1.ARM64内核/用户虚拟地址划分 1. 虚拟地址的最大宽度 最大宽度&#xff1a;虚拟地址的最大宽度是48位。 内核虚拟地址&#xff1a; 在64位地址空间的顶部。高16位全是1。范围…...

图论基础理论

在我看来&#xff0c;想要掌握图的基础应用&#xff0c;仅需要三步走。 什么是图&#xff08;基本概念&#xff09;、图的构造&#xff08;打地基&#xff09;、图的遍历方式&#xff08;应用的基础&#xff09; 只要能OK的掌握这三步、就算图论入门了&#xff01;&#xff0…...

最大子序和问题——动态规划/贪心算法解决

目录 一&#xff1a;问题描述 二&#xff1a;解决思路1——动态规划思想 三&#xff1a;C 语言代码实现 四&#xff1a;复杂度分析 五&#xff1a;解决思路2——贪心算法思想 六&#xff1a;具体步骤 七: C语言代码实现 八&#xff1a;复杂度分析 一&#xff1a;问题描述 …...

车载以太网-SOMEIP

文章目录 基本概念SOME/IP的起源与核心定位核心定位设计目标协议栈架构与OSI模型映射报文结构与数据序列化SOME/IP的核心通信机制通信模式分类服务发现协议(SOME/IP-SD)服务发现流程服务质量(QoS)管理SOME/IP在智能汽车中的典型应用SOME/IP测试与验证体系SOME/IP测试环境构…...

DrissionPage详细教程

1. 基本概述 DrissionPage 是一个基于 python 的网页自动化工具。它既能控制浏览器&#xff0c;也能像requests一样收发数据包&#xff0c;更重要的是还能把两者合二为一。因此&#xff0c;简单来说DrissionPage可兼顾浏览器自动化的便利性和 requests 的高效率。 DrissionPa…...

6.1 GitHub亿级数据采集实战:双通道架构+三级容灾设计,破解API限制与反爬难题

GitHub 项目数据获取功能设计与实现 关键词:GitHub API 集成、网页爬虫开发、数据存储设计、定时任务调度、异常处理机制 1. 数据获取架构设计 采用双通道数据采集策略,同时使用 GitHub 官方 API 和网页爬虫技术确保数据完整性: #mermaid-svg-XUg7xhHrzFAozG4J {font-fami…...