一、数字类型
1、Golang 数据类型介绍
2、整型分为两大类
- 关于字节:
3、unsafe.Sizeof
package main
import (
"fmt"
"unsafe"
)
func main() {
var a int8 = 124
fmt.Printf("%Tn", a) // int8
fmt.Println(unsafe.Sizeof(a)) // 1 (表示占用1个字节,也就是8 byte)
}
4、int 不同长度直接的转换
package main
import (
"fmt"
)
func main(){
var num1 int8
num1 := 127
num2 := int32(num1) //讲 num1 类型转换程 int32 并赋值给 num1
fmt.Printf("值:%v 类型%T",num2,num2) //值:127 类型 int32
}
5、浮点型
- Go语言支持两种浮点型数:float32和float64
package main
import(
"fmt"
"math"
)
func main(){
fmt.Printf("%fn",math.Pi) //3.141593(默认保留6位小数)
fmt.Printf("%.2fn",math.Pi) //3.14(保留2位小数)
}
6.reflect.TypeOf查看数据类型
package main
import(
"fmt"
"reflect"
)
func main(){
c := 10
fmt.PrintIn(reflect.TypeOf(c)) //int
}
二、int互转
1、int常用转换
package main
import(
"fmt"
"strconv"
)
func main(){
//string到int
intV,_ := strcomv.Atoi("123456")
// string到int64
int64V,_ := strconv.ParseInt("123456",10,64)
//int到string
strS := strconv.Itoa(123)
//int64到string
var tmp int64 =123
str64S:=strconv.FormatInt(tmp,10)
fmt.Printf("%T--%T--%T--%T",intV,int64V,strS,str64S)
//int--int64--string-string
}
2、int8转int16
package main
import "fmt"
func main(){
var a int8 = 20
var b int16 =40
var c int16(a) + b //要转换成形同类型才能运行
fmt.Printf("值:%V--类型%T",c,c) //值:60--类型 int16
}
3、int16转float32
package main
import "fmt"
func main(){
var a float32 =3.2
var b int16 =6
var c = a + float32(b)
fmt.Printf("值:%V--类型%T",c,c) //值:9.2--类型float32
}
4、math.Sqrt强转
package main
import(
"fmt"
"math"
)
func main(){
var a,b =3,4
var c int
//math.Sqrt()接收的参数是float64类型,需要强制转换
c = int(math.Sqrt(float64(a*a+b*b)))
fmt.PrintIn(c) // 5
}
三、int与str转换
1、int与str转换
package main
import(
"fmt"
"strconv"
)
func main(){
//2.1 int64转str
var num2 int64 = 123456
str2 := strconv.FormatInt(num2,10)
fmt.Printf("%V--%Tn",str2,str2) //12345--string
//2.2 str转int64
v1,_ := strconv.ParseFloat(str2,64)
fmt.Printf("%v---%Tn",v1,v1) // 123456---float64
}
2、str与int64转换
package main
import (
"fmt"
"strconv"
)
func main() {
//1.1 int转sting
num1 := 123456
str1 := strconv.Itoa(num1)
fmt.Printf("%v---%T n",str1,str1) // 123456---string
// 1.2 sting转int
_int, err := strconv.Atoi(str1)
fmt.Println(_int,err) // 123456 <nil>
fmt.Printf("%v---%Tn",_int,_int) // 123456---int
//2.1 int64转str
var num2 int64 = 123456
str2 := strconv.FormatInt(num2, 10)
fmt.Printf("%v---%T n",str2,str2) // 123456---string
//2.2 str转int64
v1, _ := strconv.ParseFloat(str2, 64)
fmt.Printf("%v---%Tn",v1,v1) // 123456---float64
}
四、布尔值
-
注意:
package main
import (
"fmt"
"unsafe"
)
func main() {
var b = true
fmt.Println(b, "占用字节:", unsafe.Sizeof(b)) // true 占用字节: 1
}
原文地址:https://blog.csdn.net/MrWangisgoodboy/article/details/134643612
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_3048.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。