【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)
	}
}

参考资料

posted @ 2022-01-16 14:39  花酒锄作田  阅读(206)  评论(0编辑  收藏  举报