103 lines
2.3 KiB
Go
103 lines
2.3 KiB
Go
package main
|
||
|
||
import (
|
||
"fmt"
|
||
"math"
|
||
)
|
||
|
||
func main() {
|
||
type_()
|
||
|
||
}
|
||
|
||
func type_() {
|
||
var age int = 12 // 设定类型为数字
|
||
fmt.Println(age)
|
||
|
||
var text = "Hello mfk\n" // 自动识别类型
|
||
fmt.Printf(text)
|
||
|
||
// uint + x
|
||
// x 是比特的位数
|
||
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)
|
||
// int8 支持正负数
|
||
// 0 0 0 0 0 0 0 0 = 1
|
||
// 0 1 1 1 1 1 1 1 = 2^(8-1)-1=127 // 一个比特位区分正负了
|
||
|
||
// 1 0 0 0 0 0 0 1 = -1 负数的最大值
|
||
// 1 0 0 0 0 0 0 0 = -128
|
||
|
||
//######################################################
|
||
// 源码 补码 (取反=反码+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)
|
||
|
||
}
|
||
|