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。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76787.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76787.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76787.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

競拍商城:電商創新的博弈場與未來趨勢

競拍商城:電商創新的博弈場與未來趨勢 在傳統電商趨于同質化的今天,競拍商城憑借其獨特的交易機制和用戶激勵模式,成為電商領域的新寵。通過結合拍賣的博弈屬性與電商的便捷性,競拍商城不僅重塑了消費體驗,更催生了全…

Linux : 多線程互斥

目錄 一 前言 二 線程互斥 三 Mutex互斥量 1. 定義一個鎖(造鎖) 2. 初始化鎖 3. 上鎖 4. 解鎖 5. 摧毀鎖 四 鎖的使用 五 鎖的宏初始化 六 鎖的原理 1.如何看待鎖? 2. 如何理解加鎖和解鎖的本質 七 c封裝互斥鎖 八 可重入…

論文閱讀筆記——Reactive Diffusion Policy

RDP 論文 通過 AR 提供實時觸覺/力反饋;慢速擴散策略,用于預測低頻潛在空間中的高層動作分塊;快速非對稱分詞器實現閉環反饋控制。 ACT、 π 0 \pi_0 π0? 采取了動作分塊,在動作分塊執行期間處于開環狀態,無法及時響…

swagger 注釋說明

一、接口注釋核心字段 在 Go 的路由處理函數(Handler)上方添加注釋,支持以下常用注解: 注解名稱用途說明示例格式Summary接口簡要描述Summary 創建用戶Description接口詳細說明Description 通過用戶名和郵箱創建新用戶Tags接口分…

STM32 HAL庫 OLED驅動實現

一、概述 1.1 OLED 顯示屏簡介 OLED(Organic Light - Emitting Diode)即有機發光二極管,與傳統的 LCD 顯示屏相比,OLED 具有自發光、視角廣、響應速度快、對比度高、功耗低等優點。在嵌入式系統中,OLED 顯示屏常被用…

Web開發-JavaEE應用動態接口代理原生反序列化危險Invoke重寫方法利用鏈

知識點: 1、安全開發-JavaEE-動態代理&序列化&反序列化 2、安全開發-JavaEE-readObject&toString方法 一、演示案例-WEB開發-JavaEE-動態代理 動態代理 代理模式Java當中最常用的設計模式之一。其特征是代理類與委托類有同樣的接口,代理類…

K8s是常用命令和解釋

K8s高頻命令 獲取資源信息,如獲取 Pod、Service、Deployment等資源狀態信息 kubectl get創建資源如創建Pod、Service、Deployment等資源 kubectl create刪除資源,如刪除Pod、Service、Deployment等資源 kubectl delete 應用配置文件,如引用D…

【模態分解】EMD-經驗模態分解

算法配置頁面,也可以一鍵導出結果數據 報表自定義繪制 獲取和下載【PHM學習軟件PHM源碼】的方式 獲取方式:Docshttps://jcn362s9p4t8.feishu.cn/wiki/A0NXwPxY3ie1cGkOy08cru6vnvc

TDengine 語言連接器(Go)

簡介 driver-go 是 TDengine 的官方 Go 語言連接器,實現了 Go 語言 database/sql 包的接口。Go 開發人員可以通過它開發存取 TDengine 集群數據的應用軟件。 Go 版本兼容性 支持 Go 1.14 及以上版本。 支持的平臺 原生連接支持的平臺和 TDengine 客戶端驅動支持…

鏈接世界:計算機網絡的核心與前沿

計算機網絡引言 在數字化時代,計算機網絡已經成為我們日常生活和工作中不可或缺的基礎設施。從簡單的局域網(LAN)到全球互聯網,計算機網絡將數以億計的設備連接在一起,推動了信息交換、資源共享以及全球化的進程。 什…

AI agents系列之全面介紹

隨著大型語言模型(LLMs)的出現,人工智能(AI)取得了巨大的飛躍。這些強大的系統徹底改變了自然語言處理,但當它們與代理能力結合時,才真正釋放出潛力——能夠自主地推理、規劃和行動。這就是LLM代理大顯身手的地方,它們代表了我們與AI交互以及利用AI的方式的范式轉變。 …

如何使用AI輔助開發CSS3 - 通義靈碼功能全解析

一、引言 CSS3 作為最新的 CSS 標準,引入了眾多新特性,如彈性布局、網格布局等,極大地豐富了網頁樣式的設計能力。然而,CSS3 的樣式規則繁多,記憶所有規則對于開發者來說幾乎是不可能的任務。在實際開發中&#xff0c…

復刻系列-星穹鐵道 3.2 版本先行展示頁

復刻星穹鐵道 3.2 版本先行展示頁 0. 視頻 手搓~星穹鐵道~展示頁~~~ 1. 基本信息 作者: 啊是特嗷桃系列: 復刻系列官方的網站: 《崩壞:星穹鐵道》3.2版本「走過安眠地的花叢」專題展示頁現已上線復刻的網…

爬蟲:IP代理

什么是代理 代理服務器 代理服務器的作用 就是用來轉發請求和響應 在爬蟲中為何需要使用代理? 有些時候,需要對網站服務器發起高頻的請求,網站的服務器會檢測到這樣的異常現象,則會講請求對應機器的ip地址加入黑名單&#xff…

協程的原生掛起與恢復機制

目錄 🔍 一、從開發者視角看協程掛起與恢復 🧠 二、協程掛起和恢復的機制原理:核心關鍵詞 ? suspend 函數 ≠ 普通函數 ? Continuation(協程的控制器) 🔧 三、編譯器做了什么?&#xff0…

c++11--std::forwaord--完美轉發

std::forword的作用 完美轉發的核心目的是保持參數的原始類型(包括const/volatile限定符和左值/右值性質)不變地傳遞給其他函數。 為什么需要完美轉發 在沒有完美轉發之前,我們面臨以下問題: 模板參數傳遞中的值類別丟失 當參數…

Linux安裝開源版MQTT Broker——EMQX服務器環境從零到一的詳細搭建教程

零、EMQX各個版本的區別 EMQX各個版本的功能對比詳情https://docs.emqx.com/zh/emqx/latest/getting-started/feature-comparison.html

計算機組成原理-存儲器

1. 存儲器的定義與作用 存儲器是計算機系統中用于存儲程序、數據和中間結果的硬件設備,是計算機五大核心部件之一。 核心功能: 提供數據的 臨時或永久存儲 能力。支持CPU按需快速存取指令和數據,是程序運行的物理基礎。 2. 存儲器的分類 …

單片機領域中哈希表

以下是單片機領域中哈希表的實際應用及編程實例: 1.哈希表在單片機中的實際應用場景 ? 命令解析:在單片機通信中,經常需要解析接收到的命令。使用哈希表可以快速地將命令字符串映射到對應的處理函數,提高命令解析的效率。 ? 數…

算法思想之位運算(一)

歡迎拜訪:霧里看山-CSDN博客 本篇主題:算法思想之位運算(一) 發布時間:2025.4.12 隸屬專欄:算法 目錄 滑動窗口算法介紹六大基礎位運算符常用模板總結 例題位1的個數題目鏈接題目描述算法思路代碼實現 比特位計數題目鏈接題目描述…