diff --git a/4.基本数据类型.go b/4.基本数据类型.go index 5dfaf36..435a95f 100644 --- a/4.基本数据类型.go +++ b/4.基本数据类型.go @@ -1,6 +1,9 @@ package main -import "fmt" +import ( + "fmt" + "math" +) func main() { type_() @@ -16,7 +19,7 @@ func type_() { // uint + x // x 是比特的位数 - var u8 uint8 = 255 + var u8 uint8 = 255 //u 只能存正整数 // 0 0 0 0 0 0 0 0 = 0 // 1 1 1 1 1 1 1 1 = 2^8-1=255 fmt.Println(u8) @@ -31,7 +34,69 @@ func type_() { // 源码 补码 (取反=反码+1)听不懂,标记一下,下次学 //###################################################### + // 测试 64位上限 + fmt.Print(math.Pow(2, 63)) + var n1 int = 9223372036854775807 + fmt.Println(n1) + //var n2 int = 9223372036854775808 error + //fmt.Println(n2) + + // 浮点型 + // float32 + // float64 + // 这两种 + // 字符型 + // 重点 byte(单字节类型字符) rune(多字节类型字符) + var a byte = 'a' // ascii 里面的字符 + fmt.Printf("%c %d\n",a, a) // %c 打印字符 %d 打印ascii位置 + + var a1 uint8 = 97 + fmt.Printf("%c %d\n",a1, a1) + + + var z rune = '中' // int32 + fmt.Printf("%c %d\n",z, z) + + // 字符串型 + var s string = "字符串是双引号\n" + fmt.Printf(s) + // 常见转译字符 + fmt.Println("你好\t世界") // 空格 + fmt.Println(" ‘你好’ 世界") // 单引号 + fmt.Println(" \"你好\" 世界") // 双引号 + fmt.Println("\n你好\n\n世界") // 换行符号 + fmt.Println("C:\\Users\\SkimrMe\\Desktop\\sex_game\\") // 适用于windwos路径的输出 + + + // 多行字符串 不能用转译字符 + fmt.Print(` + 今天 是 +🥣 俄方片,, + 个 好 日 子 ✅ + + ∂ƒ¬ß¬πø´øø∑˚ßœ∑´®†¥˙¨∆˚∂ƒ©˙∆µ≈ç√∫˜µß∂ƒ©˙∆ß + + + `) + + fmt.Println("隔开") + + + // 布尔类型的讲的好少听不懂,下次重新找教程 + + // 零值问题 + // 如果我们给一个基本数据类型只声明不赋值 打印的是0或者false,"" + + var q1 int + var q2 float32 + var q3 string + var q4 bool + + fmt.Printf("%#v\n", q1) + fmt.Printf("%#v\n", q2) + fmt.Printf("%#v\n", q3) + fmt.Printf("%#v\n", q4) }