本文共 5079 字,大约阅读时间需要 16 分钟。
package mainimport "fmt"//演示golang中的整数类型使用func main() { var i int = 1 fmt.Println("i=", i) // 测试一下 int8的范围 -128~127 // 其它的 int16, int32, int64,类推…… var j int8 = 127 fmt.Println("j=", j)}
package mainimport "fmt"func main() { //无符号整数类型 // 测试一下 uint8的范围(0-255),其他的 uint16,uint32, uint64类推即可 var k uint16 = 255 fmt.Println("k=", k)}
func main() { // int,uint,rune,byte的使用 var a int = 8900 fmt.Println("a=", a) var d rune = 32 fmt.Println("d=", d) var b uint = 1 var c byte = 255 fmt.Println("b=", b, "c=", c)}
func main() { // 整型的使用细节 var n1 = 100 // ? n1 是什么类型 // 这里我们给介绍一下如何查看某个变量的数据类型 // fmt.Printf() 可以用于做格式化输出 fmt.Printf("n1 的 类型 %T \n", n1)}
func main() { var n2 int64 = 10 // unsafe.Sizeof(n1) 是unsafe包的一个函数,可以返回n1变量占用的字节数 fmt.Printf("n2 的 类型 %T n2占用的字节数是 %d ", n2, unsafe.Sizeof(n2))}
func main() { var age byte = 90 fmt.Println("age=", age)}
bit:计算机中的最小存储单位。byte:计算机中基本存储单元。[二进制再详细说] 1 byte = 8 bit
基本介绍
小数类型就是用于存放小数的,比如 1.2 0.23 - 1.911小数类型分类
func main() { // 演示golang中小数类型使用 var price float32 = 89.12 fmt.Println("price=", price) // 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位 // 说明:浮点数都是有符号 var num1 float32 = -0.00089 var num2 float64 = -7809656.09 fmt.Println("num1=", num1, "num2=", num2) // 尾数部分可能丢失,造成精度损失。-123.0000901 var num3 float32 = -123.0000901 var num4 float64 = -123.0000901 fmt.Println("num3=", num3, "num4=", num4)}
PS. 说明:float64 的精度比 float32 的要准确
PS. 说明:如果我们要保存一个精度高的数,则应该选用 float64 浮点型的存储分为三部分:符号位+指数位+尾数位 在存储过程中,精度会有丢失func main() { // Golang 的浮点型默认声明float64 类型 var num5 = 1.1 fmt.Printf("num5的数据类型是 %T \n", num5)}
// 执行结果D:\go\liteide\golang\main>go run 4数据类型.gonum5的数据类型是 float64
func main() { // 浮点型常量有两种表示形式 // 十进制:如:5.12 .512 (必须有小数点) num6 := 5.12 num7 := .123 // => 0.123 fmt.Println("num6=", num6, "num7=", num7) // 科学计数法:如:5.1234e2 = 5.12*10的2次方 5.12E-2 = 5.12/10的2次方 num8 := 5.1234e2 // ? 5.1234 * 10的2次方 num9 := 5.1234E2 // ? 5.1234 * 10的2次方 shift+alt+向下的箭头 num10 := 5.1234E-2 // ? 5.1234 / 10的2次方 0.051234 fmt.Println("num6=", num6, "num7=", num7, "num8=", num8, "num9=", num9, "num10=", num10)}
// 执行结果D:\go\liteide\golang\main>go run 4数据类型.gonum6= 5.12 num7= 0.123num6= 5.12 num7= 0.123 num8= 512.34 num9= 512.34 num10= 0.051234
func main() { var c1 byte = 'a' var c2 byte = '0' //字符的0 // 当我直接输出byte值,就是输出了的对应的字符的码值 // 'a' ==> fmt.Println("c1=", c1) fmt.Println("c2=", c2) // 如果我们希望输出对应字符,需要使用格式输出 fmt.Printf("c1=%c c2=%c\n", c1, c2) // var c3 byte = '北' // overflow溢出 var c3 int = '北' // overflow溢出 fmt.Printf("c3=%c c3对应码值=%d", c3, c3)}
对于上面代码说明
下面是执行结果
D:\go\liteide\golang\main>go run 4数据类型.goc1= 97c2= 48c1=a c2=0c3=北 c3对应码值=21271
字符常量是用单引号(’’)括起来的单个字符。例如:
var c1 byte = ‘a’ var c2 int = ‘中’ var c3 byte = ‘9’Go中允许使用转义字符’'来将其后的字符转变为特殊字符型常量。例如:
var c3 char = ‘\n’ // '\n’表示换行符Go语言的字符使用 UTF-8 编码,如果想查询字符对应的 utf8 码值:http://www.mytju.com/classcode/tools/encode_utf8.asp
英文字母-1个字节 汉字-3字节在Go中,字符的本质是一个整数,直接输出时,是该字符对应的 UTF-8 编码的码值。
可以直接给某个变量赋一个数字,然后按格式输出时 %c ,会输出改数字对应的 unicode 字符
var c4 int = 22269 // 22269 -> ‘国’ 120-> ‘x’字符类型是可以进行运算的,相当于一个整数,因为它都对应有 Unicode 码
var n1 = 10 + ‘a’ // 10 + 97 = 107 fmt.Println(“n1=”, n1) == fmt.Println(“n1=”, (10 + 97 = 107))package mainimport ( "fmt" "unsafe")func main() { var b = false fmt.Println("b=", b) // 注意事项 // 1、bool类型占 1 个字节 fmt.Println("b 的占用空间=", unsafe.Sizeof(b)) // 2、bool类型的数据只取值 "true" 和 "false"}
package mainimport "fmt"func main() { str2 := "abc\nabc" fmt.Println("str2=", str2) str3 := ` package main import ( "fmt" "unsafe" ) func main() { var b = false fmt.Println("b=", b) // 注意事项 // 1、bool类型占 1 个字节 fmt.Println("b 的占用空间=", unsafe.Sizeof(b)) // 2、bool类型的数据只取值 "true" 和 "false" } ` fmt.Println("str3=", str3) // 字符串拼接方式 var str = "hello" + "world" str += " haha!" fmt.Println("str=", str) // 当一个拼接的操作很长时,可以分行写。注意:需要将 "+" 保留在上一行 str4 := "hello " + "world " + "hello " + "world" fmt.Println("str4=", str4)}
转载地址:http://ahqwi.baihongyu.com/