go语言里面的数据类型

go语言里面的数据类型
查看数据类型和字节数

package main
import (
	"fmt"
	"unsafe"
)
func main() {
	var n1 = 100
	//查看某一个数的数据类型,可以使用
	fmt.Printf("类型为 %T ", n1)
	//查看某一个变量占用字节的大小
	fmt.Printf("类型为 %T ,字节数%d", n1, unsafe.Sizeof(n1))
}

结果:
go语言里面的数据类型_第1张图片

基本类型转换为string:

package main
import (
	"fmt"
	"strconv"
)
func main() {
	//基本类型转换为string
	//第一种方法,利用fmt.Sprintf转换
	var a int = 99
	var b float32 = 10.11
	var c bool = true
	var d byte = 'a'
	var str string
	str = fmt.Sprintf(" %d ", a)
	fmt.Printf("type=%T str=%q\n", str, str)
	str = fmt.Sprintf("%f", b)
	fmt.Printf("type=%T str=%q\n", str, str)
	str = fmt.Sprintf("%t", c)
	fmt.Printf("type=%T str=%q\n", str, str)
	str = fmt.Sprintf("%c", d)
	fmt.Printf("type=%T str=%q\n", str, str)
	//第二种 strconv 函数
	var num1 int = 101
	var num2 float64 = 10.222
	var num3 bool = false
	//对于下面这个函数的调用,其中第一个参数必须是int64类型的
	str = strconv.FormatInt(int64(num1), 10)
	fmt.Printf("type=%T str=%q\n", str, str)
	//下面这个函数的调用,第一个是参数,第二个是表示方式(有以科学计数法分类的),第三个是小数点后的位数,第四个是float的位数
	str = strconv.FormatFloat(num2, 'f', 10, 64)
	fmt.Printf("type=%T str=%q\n", str, str)
	str = strconv.FormatBool(num3)
	fmt.Printf("type=%T str=%q\n", str, str)
}

结果:
go语言里面的数据类型_第2张图片
string类型转为基本类型:

package main
import (
	"fmt"
	"strconv"
)
func main() {
	//string类型变为基本类型
	var str string = "true"
	var b bool
	//使用下面的函数将string变为bool
	b, _ = strconv.ParseBool(str)
	fmt.Printf("type=%T,b=%v\n", b, b)
	//变为int类型
	//下面函数中注意第二个参数含义:转为几进制,第三个为变为int32或者int64等
	var str2 string = "12345"
	var n1 int64
	n1, _ = strconv.ParseInt(str2, 10, 64)
	fmt.Printf("type=%T,b=%v\n", n1, n1)
	//转为float
	var str3 = "1234.2344"
	var f1 float64
	f1, _ = strconv.ParseFloat(str3, 64)
	fmt.Printf("type=%T,b=%v\n", f1, f1)
}

结果:
go语言里面的数据类型_第3张图片

你可能感兴趣的:(golang,开发语言,后端)