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表,解决打印整型变量时出现97的问题。
2:转义字符
字符除了我们常见的字符‘a’,字符’b’等等以外,还有一些特殊的字符,例如我们讲解的’\n’, 它的作用是什么?换行,不会在屏幕上输出具体的内容。这种字符我们称为转义字符(具有特殊含义),那么除了’\n’字符以外,还有哪些是我们以后编程中经常用到的转义字符呢?
\" 表示一个英文半角的双引号
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 | 一个二进制整数值(基数为2),或者是一个(高级的)用科学计数法表示的指数为2的浮点数 |
%c | 字符型。可以把输入的数字按照ASCII码相应转换为对应的字符 |
%d | 一个十进制数值(基数为10) |
%f | 以标准记数法表示的浮点数或者复数值 |
%o | 一个以八进制表示的数字(基数为8) |
%p | 以十六进制(基数为16)表示的一个值的地址,前缀为0x,字母使用小写的a-f表示 |
%q | 使用Go语法以及必须时使用转义,以双引号括起来的字符串或者字节切片[]byte,或者是以单引号括起来的数字 |
%s | 字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符) |
%t | 以true或者false输出的布尔值 |
%T | 使用Go语法输出的值的类型 |
%x | 以十六进制表示的整型值(基数为十六),数字a-f使用小写表示 |
%X | 以十六进制表示的整型值(基数为十六),数字A-F使用小写表示 |