Files
go_test/4.基本数据类型.go

103 lines
2.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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)
}