自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Golang 中的 Strconv 包詳解,看這篇就夠了

開發(fā) 后端
Strconv 是 Golang 中一個(gè)非常常用的包,主要用于字符串和基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換。本文將詳細(xì)介紹 Strconv 包的常用函數(shù)及用法。

strconv 是 Golang 中一個(gè)非常常用的包,主要用于字符串和基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換。本文將詳細(xì)介紹 strconv 包的常用函數(shù)及用法。

strconv.Atoi 和 strconv.Itoa

Atoi 函數(shù)用于將字符串轉(zhuǎn)換為 int 類型,Itoa 函數(shù)則用于將 int 類型轉(zhuǎn)換為字符串類型。簡單使用示例如下:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "123"
    intValue, _ := strconv.Atoi(str)
    fmt.Printf("str to int: %d\n", intValue)

    intValue += 1
    str = strconv.Itoa(intValue)
    fmt.Printf("int to str: %s\n", str)
}

strconv.Parse 系列函數(shù)

strconv.Parse 系列函數(shù)用于將字符串解析為指定類型。其中常用的函數(shù)有 ParseInt、ParseBool 和 ParseFloat。簡單使用示例如下:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 解析整數(shù)
	intStr := "123"
	intValue, _ := strconv.ParseInt(intStr, 10, 64)
	fmt.Printf("Parsed int value: %d\n", intValue)

	// 解析布爾值
	boolStr := "true"
	boolValue, _ := strconv.ParseBool(boolStr)
	fmt.Printf("Parsed bool value: %t\n", boolValue)

	// 解析浮點(diǎn)數(shù)
	floatStr := "3.14"
	floatValue, _ := strconv.ParseFloat(floatStr, 64)
	fmt.Printf("Parsed float value: %f\n", floatValue)
}

strconv.Format 系列函數(shù)

strconv.Format 系列函數(shù)用于將基本數(shù)據(jù)類型轉(zhuǎn)換為字符串類型。常用的函數(shù)有 FormatInt、FormatBool 和 FormatFloat。簡單使用示例如下:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 格式化整數(shù)
	intValue := 123
	intStr := strconv.FormatInt(int64(intValue), 10)
	fmt.Printf("Formatted int string: %s\n", intStr)

	// 格式化布爾值
	boolValue := true
	boolStr := strconv.FormatBool(boolValue)
	fmt.Printf("Formatted bool string: %s\n", boolStr)

	// 格式化浮點(diǎn)數(shù)
	floatValue := 3.14
	floatStr := strconv.FormatFloat(floatValue, 'f', -1, 64)
	fmt.Printf("Formatted float string: %s\n", floatStr)
}

strconv.Append 系列函數(shù)

strconv.Append 系列函數(shù)用于將基本數(shù)據(jù)類型追加到已存在的字節(jié)數(shù)組中。常用的函數(shù)有 AppendInt、AppendBool 和 AppendFloat。簡單使用示例如下:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    // 追加整數(shù)到字節(jié)數(shù)組
    num1 := 123
    byteSlice := []byte("Number: ")
    byteSlice = strconv.AppendInt(byteSlice, int64(num1), 10)
    fmt.Printf("Appended int: %s\n", byteSlice)

    // 追加布爾值到字節(jié)數(shù)組
    boolVal := true
    byteSlice = []byte("Bool: ")
    byteSlice = strconv.AppendBool(byteSlice, boolVal)
    fmt.Printf("Appended bool: %s\n", byteSlice)

    // 追加浮點(diǎn)數(shù)到字節(jié)數(shù)組
    floatVal := 3.14
    byteSlice = []byte("Float: ")
    byteSlice = strconv.AppendFloat(byteSlice, floatVal, 'f', -1, 64)
    fmt.Printf("Appended float: %s\n", byteSlice)
}

strconv.IsPrint 和 strconv.IsGraphic

strconv.IsPrint 函數(shù)用于判斷給定的 Unicode 字符是否可打印,可打印字符是指那些可以在屏幕上顯示的字符。strconv.IsGraphic 函數(shù)用于判斷給定的 Unicode 字符是否是圖形字符,圖形字符是指可視化的字符。簡單使用示例如下:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	chars := []rune{'H', 'e', 'l', '\n', '?', 127}
	for _, char := range chars {
		fmt.Printf("Character: %c, IsPrint: %v\n", char, strconv.IsPrint(char))
		fmt.Printf("Character: %c, IsGraphic: %v\n", char, strconv.IsGraphic(char))
	}
}

strconv.Quote 和 strconv.Unquote 系列函數(shù)

strconv.Quote 系列函數(shù)用于轉(zhuǎn)義和引用字符串的功能,將字符串轉(zhuǎn)換為可以直接表示的字符串字面值(literal),包括添加轉(zhuǎn)義字符和引號。簡單使用示例如下:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := `路多辛的, "所思所想"!`

	quoted := strconv.Quote(str)
	fmt.Println("Quoted: ", quoted)

	unquoted, err := strconv.Unquote(quoted)
	if err != nil {
		fmt.Println("Unquote error: ", err)
	} else {
		fmt.Println("Unquoted: ", unquoted)
	}
}

strconv.CanBackquote

strconv.CanBackquote 函數(shù)用于檢查字符串是否可以不變地表示為單行反引號字符串(即以 `` 開頭和結(jié)尾的字符串)。簡單使用示例如下:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str1 := "Hello, world!"
	str2 := "`Hello, world!`"
	str3 := "`Hello,\nworld!`"

	fmt.Println(strconv.CanBackquote(str1)) // 輸出:false
	fmt.Println(strconv.CanBackquote(str2)) // 輸出:true
	fmt.Println(strconv.CanBackquote(str3)) // 輸出:false
}
責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2024-08-27 11:00:56

單例池緩存bean

2021-12-13 10:43:45

HashMapJava集合容器

2023-12-07 09:07:58

2021-09-30 07:59:06

zookeeper一致性算法CAP

2019-08-16 09:41:56

UDP協(xié)議TCP

2021-05-07 07:52:51

Java并發(fā)編程

2022-03-29 08:23:56

項(xiàng)目數(shù)據(jù)SIEM

2022-08-18 20:45:30

HTTP協(xié)議數(shù)據(jù)

2017-03-30 22:41:55

虛擬化操作系統(tǒng)軟件

2021-09-10 13:06:45

HDFS底層Hadoop

2023-09-25 08:32:03

Redis數(shù)據(jù)結(jié)構(gòu)

2023-10-04 00:32:01

數(shù)據(jù)結(jié)構(gòu)Redis

2023-11-07 07:46:02

GatewayKubernetes

2021-07-28 13:29:57

大數(shù)據(jù)PandasCSV

2021-04-11 08:30:40

VRAR虛擬現(xiàn)實(shí)技術(shù)

2018-09-26 11:02:46

微服務(wù)架構(gòu)組件

2021-10-21 06:52:17

ZooKeeper分布式配置

2021-11-10 07:47:48

Traefik邊緣網(wǎng)關(guān)

2023-11-22 07:54:33

Xargs命令Linux

2019-09-25 09:17:43

物聯(lián)網(wǎng)技術(shù)信息安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號