6、做中學 | 三年級下期 Golang值類型相互轉換

本次為操作文章,大部分都在討論類型之間如何轉換,使用的是內置方法進行調用執行,詳細使用請移步至:
go的API使用文檔地址
https://studygolang.com/pkgdoc

一、數值類型相互轉換

go中數值轉換需要顯示轉換,不能隱式自動轉換,使用T(v)表達式進行轉換,T是要聲明轉換的類型,v是要轉換值。

練習代碼如下:

	// 類型轉換// 類型顯示轉換var num int32 = 10// int32 轉int64var num2 int64 = int64(num)fmt.Println("num2 = ", num2)fmt.Printf("num2 type is %T\n ", num2)//num2 =  10//num2 type is int64// int32 轉 float32var num3 float32 = float32(num)fmt.Println("num3 = ", num3)fmt.Printf("num3 type is %T\n ", num3)//num3 =  10//num3 type is float32// int32 轉 float64var num4 float64 = float64(num)fmt.Println("num4 = ", num4)fmt.Printf("num4 type is %T\n ", num4)//num4 =  10//num4 type is float64fmt.Printf("num type is %T\n ", num)//  num type is int32

練習注意事項

  1. 類型轉換可以從小到大,也可以從大到小
  2. 轉換過程中,需要顯示聲明要轉換的類型
  3. 被轉換的v值,其本身類型不發生變化(上述num變量)
  4. 大類型轉換為小類型時,精度可能損失
	// int8 內存儲范圍 -128 ~ 127n3 = int8(n1) + 127// 編譯通過,但是值會按溢出處理fmt.Println("n3 = ", n3)// n3 =  -117// 編譯不過//n3 = int8(n1) + 128 // Invalid operation: int8(n1) + 128 (cannot convert the constant 128 to the type int8)

二、數值轉換字符串

數值轉換為字符串有倆種方法:

  1. 使用fmt.Sprintf方法
  2. 使用strconv工具包

練習代碼如下

	// 數值轉字符串// 1. 使用fmt.Sprintf()var m1 int = 100str1 := fmt.Sprintf("%d", m1)fmt.Printf("str1 type:%T, str1 value: %q\n", str1, str1)// str1 type:string, str1 value: "100"// 2. 使用 strconv// 1. 需要轉換int64類型  2. base為10 表示格式化為10進制str2 := strconv.FormatInt(int64(m1), 10)fmt.Printf("str2 type:%T, str2 value: %q\n", str2, str2)// str2 type:string, str2 value: "100"var f float32 = 3.1415926// 1. 需要轉換float64類型   2. 'f' 表示式化成-ddd.dddd  3. 2 表示小數點后保留2位  4. 32 表示格式化為32位str3 := strconv.FormatFloat(float64(f), 'f', 2, 32)fmt.Printf("str3 type:%T, str3 value: %q\n", str3, str3)// str3 type:string, str3 value: "3.14"

具體使用細節,請移步官方API文檔:https://studygolang.com/pkgdoc
對應的方法詳情如下
在這里插入圖片描述

三、數值轉字符串

使用strconv進行數值,轉換為字符串操作
練習代碼

	// 字符串轉數值// strconv包進行轉換var str4 string = "123"// base為要轉換的進制,bitSize為要求的int大小str4Num, _ := strconv.ParseInt(str4, 10, 64)fmt.Printf("str4Num type:%T, str4Num value: %v\n", str4Num, str4Num)// str4Num type:int64, str4Num value: 123var str5 string = "3.14"str5Num, _ := strconv.ParseFloat(str5, 64)fmt.Printf("str5Num type:%T, str5Num value: %v\n", str5Num, str5Num)// str5Num type:float64, str5Num value: 3.14var str6 string = "true"str6Num, _ := strconv.ParseBool(str6)fmt.Printf("str6Num type:%T, str6Num value: %v\n", str6Num, str6Num)// str6Num type:bool, str6Num value: true

在這里插入圖片描述

  1. 熟練進行值類型相互轉換
  2. 熟練進行值類型與字符串轉換
  3. 熟練進行字符串與值類型轉換

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

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

相關文章

019 高校心理教育輔導系統技術解析:構建心理健康守護平臺

高校心理教育輔導系統技術解析:構建心理健康守護平臺 在關注大學生心理健康成為教育重點的當下,高校心理教育輔導系統借助數字化技術整合多種功能模塊,面向管理員、學生、教師三類角色,實現心理教育輔導工作的高效化與精準化。本…

【ArcGIS】土地資源單項評價

【ArcGIS】土地資源單項評價 一、土地資源單項評價1、評價思路 二、操作步驟1、處理環境設置2、地形坡度評價3、高程評價4、坡度高程疊加評價5、地形起伏度6、土地資源綜合評價 一、土地資源單項評價 1、評價思路 (1)利用全域DEM計算地形坡度&#xff…

Prioritized Generative Replay

ICLR 2025 Oral code 具有樣本效率的 online reinforcement learning (RL) 通常使用 replay buffer 存儲經驗,以便在更新價值函數時重復使用。然而,uniform replay 效率低下,因為某些類型的 transition 可能與學習更相關。 雖然對更有用的樣本…

Linux -- 線程、鎖

1、 Linux線程概念 1.1、什么是線程 在一個程序里的一個執行路線就叫做線程(thread)更準確的定義是:線程是“一個進程內部的控制序列”一切進程至少都有一個執行線程線程在進程內部運行,本質是在進程地址空間內運行在Linux系統中…

海外服務器的定義和作用都有哪些?

海外服務器可以說是一個統稱,其中包含了全球各地除了中國大陸以外其他國家的服務器,在如今的數字化時代中,海外服務器的應用已經成為跨國企業業務拓展、科研與學術交流等多個領域中不可或缺的一部分,能夠為各個行業提供更加穩定且…

數據結構之優先級隊列

系列文章目錄 數據結構之ArrayList_arraylist o(1) o(n)-CSDN博客 數據結構之LinkedList-CSDN博客 數據結構之棧-CSDN博客 數據結構之隊列-CSDN博客 數據結構之二叉樹-CSDN博客 目錄 系列文章目錄 前言 一、優先級隊列和堆 二、堆的模擬實現 1. 堆的創建 2. 計算建堆…

【版本控制教程】如何使用Unreal Engine 5 + UE源代碼控制(Perforce P4)

本文來源perforce.com,由Perforce中國授權合作伙伴——龍智翻譯整理,旨在為國內用戶提供一份實用、易懂的Unreal Engine 5Perforce P4的中文使用指南。希望能為UE開發者、設計師和美術小伙伴們的版本控制實踐提供有力支持~ Unreal Engine 5 是一款尖端的…

opensingleComDialog方法解析優化

下面是對 opensingleComDialog 方法的詳細解析,并給出優化建議和優化后的代碼。 方法解析 作用 opensingleComDialog(index) 方法用于在輸入框失去焦點時(blur 事件)自動根據輸入內容進行唯一性查詢,如果查到唯一結果則自動填充…

css 實現1個像素在不同分辨率屏幕上畫網格線

實現網格線繪制,要考慮畫布style尺寸和畫布像素大小的縮放關系 單像素繪制主要出現的問題是會模糊,從像素角度看就是出現繪制兩個像素,實際就是要做偏移 核心就是:按物理像素繪制,首先要對齊物理像素,計算…

深度圖聚類DGC—Paper Notes

目錄 Unsupervised Deep Embedding for Clustering Analysis (DEC 2016)Attributed Graph Clustering: A Deep Attentional Embedding Approach (DAEGC 2019)Structural Deep Clustering Network (SDCN 2020)Contrastive Multi-View Representation Learning on Graphs (MVG…

獲取YARN application 應用列表的幾種方法

目錄 1. 使用YARN命令行工具 2. 通過REST API獲取 YARN 提供了獲取YARN集群上運行的應用列表,以下是幾種常見方法: 1. 使用YARN命令行工具 最直接的方式是使用YARN提供的命令行工具: yarn application -list 上述命令會顯示所有正在運行的應用。 如果要查看所有應用(…

前端如何下載 ‘Content-Type‘: ‘application/octet-stream‘ 的文件

前言 在前端開發中,經常會遇到需要從后端接口下載文件的需求。當后端返回的響應頭中 Content-Type 為 application/octet-stream 時,表示這是一個二進制流文件,瀏覽器無法直接展示,需要前端處理后下載到本地。本文將詳細介紹前端…

咨詢顧問進階——顧問公司戰略咨詢分析模板【附全文閱讀】

該戰略咨詢分析模板圍繞企業戰略分析展開,先從總體思考戰略分析的目的與方法,接著探討企業及戰略定義、戰略地位等。外部環境分析通過 PEST、五種競爭力等模型,分析環境、行業、市場等情況以發現機會與威脅;內部環境分析從資源、核…

寶塔服務器調優工具 1.1(Opcache優化)

第一步:寶塔服務器調優工具 1.1(按照下面的參數填寫) 第二步:路徑/www/server/php/80/etc/php.ini 搜索jit jit1235 其中1235根據服務器情況修改 第三步:路徑/www/server/php/80/etc/php-cli.ini 搜索 jit1235 其中…

React Native【詳解】動畫

基礎動畫的實現流程 使用支持動畫的組件 <Animated.Viewstyle{[{opacity: fadeAnim, // 綁定透明度動畫值},]}><Text>動畫元素</Text></Animated.View>Animated.View&#xff1a;用于創建動畫容器&#xff0c;支持所有 View 的屬性。Animated.Te…

如何輕松地將照片從 iPhone 傳輸到計算機

如果您的照片占據了 iPhone 上最多的存儲空間&#xff0c;為什么不將照片從 iPhone 傳輸到電腦呢&#xff1f;您可能想要這樣做&#xff0c;但不知道如何開始&#xff1f;如果是這樣&#xff0c;那么本指南就是您所需要的。我們分享了 6 種方法以及步驟詳細信息。您可以按照一種…

操作系統之內存管理(王道)

本篇博客依據王道、與我的筆記而寫&#xff0c;講解了內存的基礎知識、內存管理的概念、進程的映像、連續分配管理方式、動態分區分配算法、基本分頁存儲管理、基本地址變換機構、TLB快表、兩級頁表、基本分段存儲管理方式、段頁式存儲管理方式、虛擬內存、請求分頁管理方式、頁…

C++11 std::thread 多線程編程詳解

C++11 標準首次將多線程支持引入語言標準庫,其中最核心的部分就是 <thread> 頭文件中的 std::thread 類。 ?? 一、基本概念 什么是線程? 線程是操作系統調度 CPU 時間的基本單位。一個進程中可以有多個線程,它們共享進程的資源(如內存、堆棧),但擁有各自獨立的…

設置vscode使用eslint

在 Visual Studio Code (VSCode) 中設置 ESLint 是一個很好的方式來確保代碼質量和一致性。以下是詳細的步驟&#xff1a; 1. 安裝 ESLint 擴展 打開 VSCode。點擊左側的擴展圖標&#xff08;四邊形圖標&#xff09;。在搜索框中輸入 ESLint。找到由 dbaeumer 提供的 ESLint …

.NET 生態中主流的前后端生產級框架

文章目錄 **1. 后端框架&#xff08;Backend Frameworks&#xff09;****(1) ASP.NET Core**&#xff08;微軟官方&#xff0c;主流選擇&#xff09;**(2) ABP Framework**&#xff08;企業級應用開發框架&#xff09; **2. 前端框架&#xff08;Frontend Frameworks&#xff0…