GO言語での基本的なデータ型と文字列型の変換

GO言語での基本的なデータ型と文字列型の変換

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

fmtパッケージのSprintfメソッド

フォーマット:fmt.Sprintf( "フォーマット制御文字"、変数名)

package main
import(
	"fmt"
)

func main()  {
    
    
	//格式控制符为要转换的数据的类型
	var a int = 123
	var b float32 = 123
	var c bool = true
	var d string = "hello"
	var e byte = 'm'
	str1 := fmt.Sprintf("%d", a)
	str2 := fmt.Sprintf("%f", b)
	str3 := fmt.Sprintf("%t", c)
	str4 := fmt.Sprintf("%s", d)
	str5 := fmt.Sprintf("%c", e)

	//下面进行输出
	fmt.Printf("str1 = %v  类型:%T \n", str1, str1)
	fmt.Printf("str2 = %v  类型:%T \n", str2, str2)
	fmt.Printf("str3 = %v  类型:%T \n", str3, str3)
	fmt.Printf("str4 = %v  类型:%T \n", str4, str4)
	fmt.Printf("str5 = %v  类型:%T \n", str5, str5)

}

出力結果:ここに画像の説明を挿入

strconvパッケージの関数

strconvパッケージには、基本的なデータ型を文字列型に変換するためのいくつかの関数があります:FormatInt、FormatUint、FormatFloat、FormatBool

package main
import(
	"fmt"
	"strconv"
)

func main()  {
    
    
	//格式控制符为要转换的数据的类型
	var a int64 = 123
	var b float64 = 123
	var c bool = true
	var d int = 123
	//var e byte = 'm'
	// str1 := fmt.Sprintf("%d", a)
	// str2 := fmt.Sprintf("%f", b)
	// str3 := fmt.Sprintf("%t", c)
	// str4 := fmt.Sprintf("%s", d)
	// str5 := fmt.Sprintf("%c", e)


	 str1 := strconv.FormatInt(a , 10) //10表示10进制,这个函数用于int64转string
	 //FormatFloat函数用法:strconv.FormatFloat(变量名,格式,精度,比特位)
	 str2 := strconv.FormatFloat(b, 'f', 7, 64)
	  //格式指的是进制格式,这里的'f'就是十进制格式,相应的还有'b':二进制格式; 'e'或'E':十进制指数;  	
	 //精度为7就是保留小数点后七位
	 //比特位为64意思是float64这种类型,相应的还有32,意为float32类型
	 str3 := strconv.FormatBool(c)

	// str4 := strconv.FormatByte(e)  !!!!这是错的!!!没有FormatByte这个函数

	 str4 := strconv.Itoa(d) //这个函数也有将int型转化为string的功能
	//下面进行输出
	fmt.Printf("str1 = %v  类型:%T \n", str1, str1)
	fmt.Printf("str2 = %v  类型:%T \n", str2, str2)
	fmt.Printf("str3 = %v  类型:%T \n", str3, str3)
	fmt.Printf("str4 = %v  类型:%T \n", str4, str4)
	


}

出力結果:ここに画像の説明を挿入

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

同様に、strconvには、文字列を基本的なデータ型に変換する関数もあります:ParseInt、ParseUint、ParseFloat、ParseBool

package main

import(
	"fmt"
	"strconv"
)
func main()  {
    
    
	var str1 string = "123"
	var str2 string = "123.123"
	var str3 string = "true"
    //以下的函数返回值位int64位或float64位,_表示哑元变量,用于接收函数的一个返回值
	//ParseInt用法:ParseInt(变量名,进制,比特位)
	a,_ := strconv.ParseInt(str1, 10, 64)  // 10表示a为十进制整数,64表示a为int64
	//ParseInt用法:ParseFloat(变量名,比特位)
	b,_ := strconv.ParseFloat(str2, 64) //64意为float64位
	//ParseBool(变量名)
	c,_ := strconv.ParseBool(str3)

	fmt.Printf("a = %v  类型为%T \n", a, a)
	fmt.Printf("b = %v  类型为%T \n", b, b)
	fmt.Printf("c = %v  类型为%T \n", c, c)
}

intf( "a =%vタイプは%T \ n"、a、a)
fmt.Printf( "b =%vタイプは%T \ n"、b、b)
fmt.Printf( "c =%vタイプ%Tとして\ n”、c、c)
}


输出结果:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210202205151466.png#pic_center)

おすすめ

転載: blog.csdn.net/qq_52698632/article/details/113573913