1:布爾類型
即bool類型,值只有true和false 默認為false
一般用于判斷 可直接跟在if之后
package main
import "fmt"
func main() {
var a bool = false
b:=true
fmt.Printf("%t\n",a)
if b {
fmt.Println(b)
}
}
2:浮點型
浮點型分為float64和float32,前者更準確。但float類型并不是絕對準確的類型,會丟失精度。
package main
import "fmt"
func main() {
var a float64
a = 1.64
var b float32
b=3.36
fmt.Println(a,b)
fmt.Printf("%f",a+float64(b))
}
float64和float32之間運算需要轉換。
3:字符類型
1.字符的基本輸入輸出
package main
import "fmt"
func main() {
var ch byte
fmt.Print("請輸入一個字符:")
fmt.Scanf("%c",&ch)
fmt.Printf("%c,%d", ch,ch)
}
控制臺輸出結果
請輸入一個字符:a
a,97
Process finished with exit code 0
引入ASCII表,解決打印整型變量時出現(xiàn)97的問題。

ascii1.png
2:轉義字符
字符除了我們常見的字符‘a(chǎn)’,字符’b’等等以外,還有一些特殊的字符,例如我們講解的’\n’, 它的作用是什么?換行,不會在屏幕上輸出具體的內(nèi)容。這種字符我們稱為轉義字符(具有特殊含義),那么除了’\n’字符以外,還有哪些是我們以后編程中經(jīng)常用到的轉義字符呢?
\" 表示一個英文半角的雙引號
func main() {
fmt.Println("我的外號是\"帥哥\",你知道嗎?")
}
我的外號是"帥哥",你知道嗎?
Process finished with exit code 0
\t 表示一個tab鍵的空格
func main() {
fmt.Println("我沒有外號\t你難道\t不知道嗎?")
}
我沒有外號 你難道 不知道嗎?
Process finished with exit code 0
\\ 表示一個\
func main() {
fmt.Println("E:\\D\\學習資源")
}
E:\D\學習資源
Process finished with exit code 0
4:字符串類型
func main() {
var s string ="你好"
var str string
fmt.Print("請輸入str的值:")
fmt.Scanf("%s",&str)
fmt.Printf("變量s的值是:%s,輸入的值str是:%s",s,str)
}
請輸入str的值:a
變量s的值是:你好,輸入的值str是:a
Process finished with exit co
這里的a是字符串類型。
5:fmt輸入輸出
| 格式 | 含義 |
|---|---|
| %% | 一個%字面量 |
| %b | 一個二進制整數(shù)值(基數(shù)為2),或者是一個(高級的)用科學計數(shù)法表示的指數(shù)為2的浮點數(shù) |
| %c | 字符型??梢园演斎氲臄?shù)字按照ASCII碼相應轉換為對應的字符 |
| %d | 一個十進制數(shù)值(基數(shù)為10) |
| %f | 以標準記數(shù)法表示的浮點數(shù)或者復數(shù)值 |
| %o | 一個以八進制表示的數(shù)字(基數(shù)為8) |
| %p | 以十六進制(基數(shù)為16)表示的一個值的地址,前綴為0x,字母使用小寫的a-f表示 |
| %q | 使用Go語法以及必須時使用轉義,以雙引號括起來的字符串或者字節(jié)切片[]byte,或者是以單引號括起來的數(shù)字 |
| %s | 字符串。輸出字符串中的字符直至字符串中的空字符(字符串以'\0‘結尾,這個'\0'即空字符) |
| %t | 以true或者false輸出的布爾值 |
| %T | 使用Go語法輸出的值的類型 |
| %x | 以十六進制表示的整型值(基數(shù)為十六),數(shù)字a-f使用小寫表示 |
| %X | 以十六進制表示的整型值(基數(shù)為十六),數(shù)字A-F使用小寫表示 |