1. 程式人生 > 其它 >【go筆記】標準庫-strconv

【go筆記】標準庫-strconv

Go語言學習筆記之標準庫strconv

前言

標準庫strconv提供了字串型別與其他常用資料型別之間的轉換。

  • strconv.FormatX()用於X型別轉字串,如strconv.FormatFloat()用於浮點型轉字串。
  • strconv.ParseX()用於字串轉X型別,如strconv.ParseFloat()用於字串轉浮點型。
  • 對於整型,常用strconv.Itoa()整型轉字串和strconv.Atoi()字串轉整型,當然也可以用FormatInt()ParseInt()

函式原型

// 整型轉字串
func Itoa(i int) string
func FormatInt(i int64, base int) string
// 字串轉整型
func Atoi(s string) (int, error)
func ParseInt(s string, base int, bitSize int) (i int64, err error)
// 浮點型轉字串
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
// 字串轉浮點型
func ParseFloat(s string, bitSize int) (float64, error)
// 布林型轉字串
func FormatBool(b bool) string
// 字串轉布林型
func ParseBool(str string) (bool, error)
// 複數轉字串
func FormatComplex(c complex128, fmt byte, prec, bitSize int) string
// 字串轉複數
func ParseComplex(s string, bitSize int) (complex128, error)

具體函式說明請點選文末“參考資料”的官方文件連結。

示例程式碼

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 整型轉字串
	var a int = 123
	// 輸出:123, 123, string
	fmt.Printf("%d, %v, %T \n", a, strconv.Itoa(a), strconv.Itoa(a))

	// 浮點型轉字串
	var b float64 = 3.141592653589793
	// 輸出:3.141593, 3.14159265, string
	fmt.Printf("%f, %v, %T \n", b, strconv.FormatFloat(b, 'f', 8, 64), strconv.FormatFloat(b,'f', 8, 64))
	
	// 字串轉整型
	var c string = "56789"
	if c2,err := strconv.Atoi(c); err == nil {
		// 輸出:string, 56789, int
		fmt.Printf("%T, %v, %T \n",c, c2, c2)
	}

	// 字串轉浮點型
	var d string = "123.456789"
	if d2, err := strconv.ParseFloat(d, 64); err == nil {
		// 輸出:string, 123.456789, float64
		fmt.Printf("%T, %v, %T \n", d, d2, d2)
	}
}

參考資料