go語言標準庫 - strconv

1、目錄

2、簡介

該庫功能與字面意思同樣(string[字符串]convert[轉換])。用於字符串與各類基礎類型的相互轉換。
並封裝了一些跨類型拼接函數,以及轉義函數。ide

3、分類

1. 基礎類型 與 字符串 互轉

FormatBool Bool轉字符串
FormatFloat Float轉字符串
FormatInt Int轉字符串
FormatUint 無符號int轉字符串
Itoa 64位10進制轉字符串,對FormatInt的封裝函數

ParseBool 字符串轉Bool
ParseFloat 字符串轉Float
ParseInt 字符串轉Int
ParseUint 字符串轉無符號Int
Atoi 字符串轉64位10進制整數spa

2. 轉義字符串

Quote
QuoteRune
QuoteRuneToASCII
QuoteRuneToGraphic
QuoteToASCII
QuoteToGraphic
Unquote
UnquoteCharcode

3. 字符串拼接其餘基礎類型

AppendBool
AppendFloat
AppendInt
AppendQuote
AppendQuoteRune
AppendQuoteRuneToASCII
AppendQuoteRuneToGraphic
AppendQuoteToASCII
AppendQuoteToGraphic
AppendUintorm

4. 判斷字符串屬性

IsGraphic
IsPrint
CanBackquote字符串

5. 庫函數錯誤處理

Errorstring

4、實例

1. 基礎類型 與 字符串 互轉

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 基礎類型 轉 字符串
	// Bool轉字符串
	tmpStr := strconv.FormatBool(true)
	fmt.Printf("類型%T, 值%v\n", tmpStr, tmpStr)
	// Int轉字符串
	tmpStr = strconv.FormatInt(323, 10)
	fmt.Printf("類型%T, 值%v\n", tmpStr, tmpStr)
	// Int轉字符串
	tmpStr = strconv.Itoa(320)
	fmt.Printf("類型%T, 值%v\n", tmpStr, tmpStr)

	// 字符串 轉 基礎類型
	// 字符串轉Bool
	if tmpBool, err := strconv.ParseBool(`false`); nil != err {
		fmt.Println(err)
	} else {
		fmt.Printf("類型%T, 值%v\n", tmpBool, tmpBool)
	}
}

複製代碼

2. 轉義字符串

package main

import (
	"fmt"
	"strconv"
)

func main() {
	s := strconv.Quote(`"Fran & Freddie's Diner ☺"`) // there is a tab character inside the string literal
	fmt.Println(s)

}
複製代碼

3. 字符串拼接其餘基礎類型

package main

import (
	"fmt"
	"strconv"
)

func main() {
	b := []byte("bool:")
	b = strconv.AppendBool(b, true)
	fmt.Println(string(b))

}
複製代碼

4. 判斷字符串屬性

package main

import (
	"fmt"
	"strconv"
)

func main() {
	shamrock := strconv.IsGraphic('☘')
	fmt.Println(shamrock)

	a := strconv.IsGraphic('a')
	fmt.Println(a)

	bel := strconv.IsGraphic('\007')
	fmt.Println(bel)

}
複製代碼

5. 庫函數錯誤處理

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "Not a number"
	if _, err := strconv.ParseFloat(str, 64); err != nil {
		e := err.(*strconv.NumError)
		fmt.Println("Func:", e.Func)
		fmt.Println("Num:", e.Num)
		fmt.Println("Err:", e.Err)
		fmt.Println(err)
	}

}
複製代碼
相關文章
相關標籤/搜索