golang 的strconv包常用方法

目錄

1. 字符串與整數的轉換

2. 字符串與浮點數的轉換

3. 布爾值的轉換

4. 字符串的轉義

5. 補充:rune 類型的使用

方法功能詳解

代碼示例:


1. 字符串與整數的轉換
方法名稱功能描述示例
Atoi將字符串轉換為十進制整數。strconv.Atoi("123")
Itoa將整數轉換為十進制字符串。strconv.Itoa(123)
ParseInt將字符串解析為指定進制的整數。strconv.ParseInt("520", 10, 64)
ParseUint將字符串解析為指定進制的無符號整數。strconv.ParseUint("FF", 16, 64)
FormatInt將整數轉換為指定進制的字符串。strconv.FormatInt(520, 8)
FormatUint將無符號整數轉換為指定進制的字符串。strconv.FormatUint(520, 8)

2. 字符串與浮點數的轉換
方法名稱功能描述示例
ParseFloat將字符串解析為浮點數。strconv.ParseFloat("3.1415926", 64)
FormatFloat將浮點數轉換為字符串,并格式化。strconv.FormatFloat(3.1415926, 'f', 3, 32)

3. 布爾值的轉換
方法名稱功能描述示例
FormatBool將布爾值轉換為字符串 "true" 或 "false"。strconv.FormatBool(true)

4. 字符串的轉義
方法名稱功能描述示例
Quote返回帶雙引號的轉義字符串。strconv.Quote("hello world")
QuoteRuneToASCII返回單個字符的轉義表示,僅使用ASCII字符。strconv.QuoteRuneToASCII('😊')

5. 補充:rune 類型的使用
方法名稱功能描述示例
rune表示單個 Unicode 碼點。var r rune = 'A'
FormatUint轉換為整數值查看 Unicode 碼點。fmt.Printf("Unicode code point of '世' is %U\n", '世')

方法功能詳解

  1. 字符串與整數的轉換

    • strconv.Atoi(s string):將字符串?s?轉換為十進制整數。如果轉換成功,返回轉換后的整數和?nil?錯誤;否則,返回 0 和非?nil?錯誤。
    • strconv.Itoa(i int):將整數?i?轉換為十進制字符串。
    • strconv.ParseInt(s string, base int, bitSize int):將字符串?s?解析為指定?base?進制的整數,bitSize?參數可以是 0(表示整數是無符號的)、32 或 64,以指定結果的類型。如果?base?為 0,則自動檢測進制(默認為十進制,但前綴為 "0x" 的字符串將被解釋為十六進制)。
    • strconv.ParseUint(s string, base int, bitSize int):功能與?ParseInt?類似,但用于無符號整數。
    • strconv.FormatInt(i int64, base int):將整數?i?轉換為指定?base?進制的字符串。
    • strconv.FormatUint(i uint64, base int):將無符號整數?i?轉換為指定?base?進制的字符串。
  2. 字符串與浮點數的轉換

    • strconv.ParseFloat(s string, bitSize int):將字符串?s?解析為浮點數,bitSize?為 32 或 64,以指定結果的類型(float32 或 float64)。
    • strconv.FormatFloat(f float64, format byte, precision, bitSize int)
      • format:表示格式,可以是 'f'(定點)、'e'(科學計數)、'g'(根據情況選擇 'e' 或 'f')。
      • precision:決定結果的小數位數或科學計數法的位數。
      • bitSize:可以是 32 或 64,表示結果的類型。
  3. 布爾值的轉換

    • strconv.FormatBool(b bool):將布爾值?b?轉換為字符串 "true" 或 "false"。
  4. 字符串的轉義

    • strconv.Quote(s string):返回帶雙引號的字符串,并轉義內部的特殊字符(如 \n、\t 等)。這在需要確保字符串在編程語言語境下正確表示時很有用。
    • strconv.QuoteRuneToASCII(r rune):返回單個字符的轉義表示,僅使用 ASCII 字符。對于 Unicode 字符,返回其十六進制轉義形式,如?\U0001F60A
  5. rune 類型的使用

    • rune:是 Go 語言中用于表示單個 Unicode 碼點的內置類型,可以直接賦值字符(如?var r rune = 'A')。
    • fmt.Printf("%U", r):打印 Unicode 碼點的完整表示,例如?U+0041?表示字符 'A'。

代碼示例:

package mainimport ("fmt""strconv"
)func main() {n, _ := strconv.Atoi("123")fmt.Printf("%d\n", n)s1 := strconv.Itoa(123)fmt.Printf("%s\n", s1)// 字符串、進制、位數n2, _ := strconv.ParseInt("520", 10, 64)fmt.Printf("%d\n", n2)n3, _ := strconv.ParseUint("FF", 16, 64) // 將十六進制字符串"FF"轉換為無符號整數fmt.Printf("%d\n", n3)//s2 := strconv.FormatBool(true)fmt.Println(s2) // "true"//s3 := strconv.FormatFloat(3.1415926, 'f', 3, 32)fmt.Println(s3)//s4 := strconv.FormatInt(520, 8)fmt.Println(s4)s4 = strconv.FormatUint(520, 8)fmt.Println(s4)//s5 := strconv.Quote("hello world")fmt.Println(s5) // `"hello world"` 返回帶雙引號的字符串//s6 := strconv.QuoteRuneToASCII('!') //單個runefmt.Println(s6)                     // `'!'`var dst []bytedst = strconv.AppendQuoteRuneToASCII(dst, '😊')fmt.Println(string(dst)) // `\U0001F60A`// rune類型:rune 是一個內置類型,它是 int32 的別名,主要用于表示單個Unicode字符。// 這意味著 rune 可以存儲任何Unicode碼點(code point),包括所有的國際字符、符號以及表情符號等。// 直接定義一個rune變量var r rune = 'A'fmt.Printf("Type of r is %T and value is %c\n", r, r)// 遍歷字符串中的runestr := "Hello, 世界"for _, r := range str {fmt.Printf("%c ", r) // 輸出: H e l l o ,   世 界}fmt.Println()// 轉換為整數值查看Unicode碼點fmt.Printf("Unicode code point of '世' is %U\n", '世') // 輸出: Unicode code point of '世' is U+4E16}

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

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

相關文章

MATLAB詳細圖文安裝教程(附安裝包)

前言 MATLAB(Matrix Laboratory)是由MathWorks公司開發的一款高性能的編程語言和交互式環境,主要用于數值計算、數據分析和算法開發。內置數學函數和工具箱豐富,開發效率高,特別適合矩陣運算和領域特定問題。接下來就…

ShapeCrawler:.NET開發者的PPTX操控魔法

引言 在當今的軟件開發領域,隨著數據可視化和信息展示需求的不斷增長,處理 PPTX 文件的場景日益頻繁。無論是自動化生成報告、批量制作演示文稿,還是對現有 PPT 進行內容更新與格式調整,開發者都需要高效的工具來完成這些任務。傳…

HTML5貪吃蛇游戲開發經驗分享

HTML5貪吃蛇游戲開發經驗分享 這里寫目錄標題 HTML5貪吃蛇游戲開發經驗分享項目介紹技術棧核心功能實現1. 游戲初始化2. 蛇的移動控制3. 碰撞檢測4. 食物生成 開發心得項目收獲后續優化方向結語 項目介紹 在這個項目中,我使用HTML5 Canvas和原生JavaScript實現了一…

有關pip與conda的介紹

Conda vs. Pip vs. Virtualenv 命令對比 任務Conda 命令Pip 命令Virtualenv 命令安裝包conda install $PACKAGE_NAMEpip install $PACKAGE_NAMEX更新包conda update --name $ENVIRONMENT_NAME $PACKAGE_NAMEpip install --upgrade $PACKAGE_NAMEX更新包管理器conda update con…

【Linux】調試器——gdb使用

目錄 一、預備知識 二、常用指令 三、調試技巧 (一)監視變量的變化指令 watch (二)更改指定變量的值 set var 正文 一、預備知識 程序的發布形式有兩種,debug和release模式,Linux gcc/g出來的二進制…

【Ubuntu常用命令】

1.將本地服務器文件或文件夾傳輸到遠程服務器 文件 scp /data/a.txt administrator10.60.51.20:/home/administrator/ 文件夾 scp -r /data/ administrator10.60.51.20:/home/administrator/ 2.從遠程服務器傳輸文件到本地服務器 scp administrator10.60.51.20:/data/a.txt /h…

golang 的time包的常用方法

目錄 time 包方法總結 類型 time.Time 的方法 庫函數 代碼示例: time 包方法總結 類型 time.Time 的方法 方法名描述示例               ?Now()獲取當前時間和日期time.Now()Format()格式化時間為字符串time.Now().Format("2006-01-02 15…

Elasticsearch:使用 Azure AI 文檔智能解析 PDF 文本和表格數據

作者:來自 Elastic James Williams 了解如何使用 Azure AI 文檔智能解析包含文本和表格數據的 PDF 文檔。 Azure AI 文檔智能是一個強大的工具,用于從 PDF 中提取結構化數據。它可以有效地提取文本和表格數據。提取的數據可以索引到 Elastic Cloud Serve…

【ArcGIS操作】ArcGIS 進行空間聚類分析

ArcGIS 是一個強大的地理信息系統(GIS)軟件,主要用于地理數據的存儲、分析、可視化和制圖 啟動 ArcMap 在 Windows 中,點擊“開始”菜單,找到 ArcGIS文件夾,然后點擊 ArcMap 添加數據 添加數據 - 點擊工具…

RabbitMQ消息相關

MQ的模式: 基本消息模式:一個生產者,一個消費者work模式:一個生產者,多個消費者訂閱模式: fanout廣播模式:在Fanout模式中,一條消息,會被所有訂閱的隊列都消費。 在廣播…

緩存使用紀要

一、本地緩存:Caffeine 1、簡介 Caffeine是一種高性能、高命中率、內存占用低的本地緩存庫,簡單來說它是 Guava Cache 的優化加強版,是當下最流行、最佳(最優)緩存框架。 Spring5 即將放棄掉 Guava Cache 作為緩存機…

2025年3月29日筆記

問題&#xff1a;創建一個長度為99的整數數組&#xff0c;輸出數組的每個位置數字是幾&#xff1f; 解題思路&#xff1a; 1.因為題中沒有明確要求需要輸入,所以所有類型的答案都需要寫出 解法1&#xff1a; #include<iostream> #include<bits/stdc.h> using n…

hadoop相關面試題以及答案

什么是Hadoop&#xff1f;它的主要組件是什么&#xff1f; Hadoop是一個開源的分布式計算框架&#xff0c;用于處理大規模數據的存儲和計算。其主要組件包括Hadoop Distributed File System&#xff08;HDFS&#xff09;和MapReduce。 解釋HDFS的工作原理。 HDFS采用主從架構&…

微信小程序:數據拼接方法

1. 使用 concat() 方法拼接數組 // 在原有數組基礎上拼接新數組 Page({data: {originalArray: [1, 2, 3]},appendData() {const newData [4, 5, 6];const combinedArray this.data.originalArray.concat(newData);this.setData({originalArray: combinedArray});} }) 2. 使…

Python之貪心算法

Python實現貪心算法(Greedy Algorithm) 概念 貪心算法是一種在每一步選擇中都采取當前狀態下最優的選擇&#xff0c;從而希望導致結果是全局最優的算法策略。 基本特點 局部最優選擇&#xff1a;每一步都做出當前看起來最佳的選擇不可回退&#xff1a;一旦做出選擇&#xf…

【 <二> 丹方改良:Spring 時代的 JavaWeb】之 Spring Boot 中的 AOP:實現日志記錄與性能監控

<前文回顧> 點擊此處查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、開篇整…

TCP/IP協議簇

文章目錄 應用層http/httpsDNS補充 傳輸層TCP1. 序列號與確認機制2. 超時重傳3. 流量控制&#xff08;滑動窗口機制&#xff09;4. 擁塞控制5. 錯誤檢測與校驗6. 連接管理總結 網絡層ARP**ARP 的核心功能**ARP 的工作流程1. ARP 請求&#xff08;Broadcast&#xff09;2. ARP 緩…

SpringBoot分布式項目訂單管理實戰:Mybatis最佳實踐全解

一、架構設計與技術選型 典型分布式訂單系統架構&#xff1a; [網關層] → [訂單服務] ←→ [分布式緩存]↑ ↓ [用戶服務] [支付服務]↓ ↓ [MySQL集群] ← [分庫分表中間件]技術棧組合&#xff1a; Spring Boot 3.xMybatis-Plus 3.5.xShardingSpher…

微服務架構中的精妙設計:環境和工程搭建

一.前期準備 1.1開發環境安裝 Oracle從JDK9開始每半年發布?個新版本, 新版本發布后, ?版本就不再進?維護. 但是會有?個?期維護的版本. ?前?期維護的版本有: JDK8, JDK11, JDK17, JDK21 在 JDK版本的選擇上&#xff0c;盡量選擇?期維護的版本. 為什么選擇JDK17? S…

Maven 構建配置文件詳解

Maven 構建配置文件詳解 引言 Maven 是一個強大的項目管理和構建自動化工具,廣泛應用于 Java 開發領域。在 Maven 項目中,配置文件扮演著至關重要的角色。本文將詳細介紹 Maven 構建配置文件的相關知識,包括配置文件的作用、結構、配置方法等,幫助讀者更好地理解和應用 M…