吉林省建设厅网站周军,上海工商网查询官网,我的世界网页版在线玩,网站模版购买一、数字类型
1、Golang 数据类型介绍
Go 语言中数据类型分为#xff1a;基本数据类型和复合数据类型基本数据类型有#xff1a; 整型、浮点型、布尔型、字符串复合数据类型有#xff1a; 数组、切片、结构体、函数、map、通道#xff08;channel#xff09;、接口
2、…一、数字类型
1、Golang 数据类型介绍
Go 语言中数据类型分为基本数据类型和复合数据类型基本数据类型有 整型、浮点型、布尔型、字符串复合数据类型有 数组、切片、结构体、函数、map、通道channel、接口
2、整型分为两大类
有符合整型按长度分为int8、int16、int32、int64对应的无符合整型uint8、uint16、uint32、uint64 关于字节 字节也叫 Byte是计算机数据的基本存储单位。8bit位1byte字节1024byte字节1kb1024KB1MB 1024MB1GB1024GB1TB。在电脑里一个中文字是占两个字节的
3、unsafe.Sizeof
unsafe.Sizeof(n1)是 unsafe 包的一个函数。可以返回n1 变量占用的字节数
package main
import (fmtunsafe
)
func main() {var a int8 124fmt.Printf(%T\n, a) // int8fmt.Println(unsafe.Sizeof(a)) // 1 (表示占用1个字节也就是8 byte)
}
4、int 不同长度直接的转换
package mainimport (fmt
)func main(){var num1 int8num1 : 127num2 : int32(num1) //讲 num1 类型转换程 int32 并赋值给 num1fmt.Printf(值%v 类型%Tnum2num2) //值127 类型 int32
}
5、浮点型
Go语言支持两种浮点型数float32和float64
package mainimport(fmtmath
)func main(){fmt.Printf(%f\n,math.Pi) //3.141593(默认保留6位小数)fmt.Printf(%.2f\n,math.Pi) //3.14(保留2位小数)
}
6.reflect.TypeOf查看数据类型
package mainimport(fmtreflect
)func main(){c : 10fmt.PrintIn(reflect.TypeOf(c)) //int
}
二、int互转
1、int常用转换
package mainimport(fmtstrconv
)func main(){//string到intintV,_ : strcomv.Atoi(123456)// string到int64int64V,_ : strconv.ParseInt(123456,10,64)//int到stringstrS : strconv.Itoa(123)//int64到stringvar tmp int64 123str64S:strconv.FormatInt(tmp,10)fmt.Printf(%T--%T--%T--%T,intV,int64V,strS,str64S)//int--int64--string-string
}
2、int8转int16
package mainimport fmtfunc main(){var a int8 20var b int16 40var c int16(a) b //要转换成形同类型才能运行fmt.Printf(值%V--类型%T,c,c) //值:60--类型 int16}
3、int16转float32
package mainimport fmtfunc main(){var a float32 3.2var b int16 6var c a float32(b)fmt.Printf(值%V--类型%T,c,c) //值9.2--类型float32}
4、math.Sqrt强转
package mainimport(fmtmath
)func main(){var a,b 3,4var c int//math.Sqrt()接收的参数是float64类型需要强制转换c int(math.Sqrt(float64(a*ab*b)))fmt.PrintIn(c) // 5
}
三、int与str转换
1、int与str转换
package mainimport(fmtstrconv
)func main(){//2.1 int64转strvar num2 int64 123456str2 : strconv.FormatInt(num2,10)fmt.Printf(%V--%T\n,str2,str2) //12345--string//2.2 str转int64v1,_ : strconv.ParseFloat(str2,64)fmt.Printf(%v---%T\n,v1,v1) // 123456---float64
}
2、str与int64转换
package main
import (fmtstrconv
)func main() {//1.1 int转stingnum1 : 123456str1 : 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 nilfmt.Printf(%v---%T\n,_int,_int) // 123456---int//2.1 int64转strvar num2 int64 123456str2 : strconv.FormatInt(num2, 10)fmt.Printf(%v---%T \n,str2,str2) // 123456---string//2.2 str转int64v1, _ : strconv.ParseFloat(str2, 64)fmt.Printf(%v---%T\n,v1,v1) // 123456---float64
}
四、布尔值 Go 语言中以 bool 类型进行声明布尔型数据布尔型数据只有 true真和 false假两个值。 注意 布尔类型变量的默认值为 false。 Go 语言中不允许将整型强制转换为布尔型 布尔型无法参与数值运算也无法与其他类型进行转换
package main
import (fmtunsafe
)
func main() {var b truefmt.Println(b, 占用字节, unsafe.Sizeof(b)) // true 占用字节 1
}