Go の基本データ型と文字列型の間の変換の概要

 

この記事では主にGoの基本データ型と文字列型の相互変換を紹介しています. サンプルコードも詳しく紹介しています. 皆さんの勉強や仕事に一定の参考学習価値があります. 必要な友達は編集者をフォローして一緒に学びましょう. 。

1. 基本データ型から文字列型へ

方法 1: fmt.Sprintf("% パラメーター", 式)

1) 公式説明: Sprintf は、format パラメータに従ってフォーマットされた文字列を生成し、その文字列を返します。

1

func Sprintf(format string, a ...interface{}) string

2)具体的な使用方法:

①数値型から文字列型へ

1

2

var num1 int = 99

str := fmt.Sprintf("%d", num1)

②float型からstring型へ

1

2

var num2 float64 = 23.456

str := fmt.Sprintf("%f", num2)

③ブール型から文字列型へ

1

2

var b bool = true

str := fmt.Sprintf("%t", b)

④文字型(バイト)から文字列型へ

1

2

var mychar byte = 'h'

str := fmt.Sprintf("%c", mychar)

方法 2: strconv パッケージの関数を使用する

1

2

3

4

5

func FormatBool(b bool) string

func FormatInt(i int64, base int) string

func FormatUint(i uint64, base int) string

func FormatFloat(f float64, fmt byte, prec, bitSize int) string

func Itoa(i int) string

①数値型→文字列型(2通り)

1

2

3

4

5

var num1 int = 99

//第一个参数需转化为int64类型,第二个参数表示几进制

str := strconv.FormatInt(int64(num1), 10)

var num1 int = 99

str := strconv.Itoa(num1)

②float型からstring型へ

1

func FormatFloat(f float64, fmt byte, prec, bitSize int) string

fは変換対象の浮動小数点数を表します

fmt 表現形式: 'f' (-ddd.dddd)、'b' (-ddddp±ddd、指数は 2 進数)、'e' (-d.dddde±dd、10 進指数)、'E' (-d.ddd.dddd) ddddE±dd、10 進指数)、'g' (大きい指数には 'e' 形式を使用、それ以外の場合は 'f' 形式)、'G' (大きい指数には 'E' 形式を使用、それ以外の場合は 'f' 形式)。

prec は精度 (指数部を除く) を制御します。「f」、「e」、「E」の場合は小数点以下の桁数を示し、「g」、「G」の場合は合計を制御します。桁数。prec が -1 の場合、f を表すために必要な最小数の数値を使用することを意味します。

bitSize は f のソース タイプ (32: float32、64: float64) を示し、それに応じて丸められます。

1

2

var num2 float64 = 23.456

str := strconv.FormatFloat(num2, 'f', 3, 64)

③ブール型から文字列型へ

1

2

var b bool = true

str := strconv.FormatBool(b)

2.文字列型から基本データ型へ

strconvパッケージの機能の使用

①文字列型からブール型へ

1

2

var str string = "true"

b, _ := strconv.ParseBool(str)

②文字列型から数値型へ(2通り)

a.

1

func ParseInt(s string, base int, bitSize int) (i int64, err error)

符号を受け入れて、文字列で表される整数値を返します。

base指定进制(2到36),如果base为0,则会从字符串前置判断,"0x"是16进制,"0"是8进制,否则是10进制;

bitSize指定结果必须能无溢出赋值的整数类型,0、8、16、32、64 分别代表 int、int8、int16、int32、int64;返回的err是*NumErr类型的,如果语法有误,err.Error = ErrSyntax;如果结果超出类型范围err.Error = ErrRange。

1

2

var str string = "1234"

n, _ := strconv.ParseInt(str, 0, 64)

b.

1

2

var str string = "1234"

num, _ := strconv.Atoi(str)

③字符串类型转浮点类型

1

func ParseFloat(s string, bitSize int) (f float64, err error)

如果s合乎语法规则,函数会返回最为接近s表示值的一个浮点数(使用IEEE754规范舍入)。bitSize指定了期望的接收类型,32是float32(返回值可以不改变精确值的赋值给float32),64是float64;返回值err是*NumErr类型的,语法有误的,err.Error=ErrSyntax;结果超出表示范围的,返回值f为±Inf,err.Error= ErrRange。

1

2

var str string = "123.456"

n, _ := strconv.ParseFloat(str, 64)

到此这篇关于Go基本数据类型与string类型互转的文章就介绍到这了,希望可以帮到你

转自:微点阅读   https://www.weidianyuedu.com

おすすめ

転載: blog.csdn.net/weixin_45707610/article/details/131829621