一、键盘输入语句
使用键盘输入语句获取用户输入的数据:导入fmt包并调用 fmt.Scanln() 或 fmt.Scanf()。
1. 调用fmt.Scanln()
package main
import (
"fmt"
)
func main() {
// 接收 姓名,年龄,薪水,是否通过考试
var name string
var age int
var salary float64
var exam bool
fmt.Println("请输入姓名: ")
fmt.Scanln(&name)
fmt.Println("请输入年龄: ")
fmt.Scanln(&age)
fmt.Println("请输入薪水: ")
fmt.Scanln(&salary)
fmt.Println("是否通过考试(true/false): ")
fmt.Scanln(&exam)
fmt.Printf("姓名: %s, 年龄: %d, 薪水: %f, 是否通过考试: %t\n", name, age, salary, exam)
}
输出结果为:
2. 调用 fmt.Scanf()
fmt.Scanf():可以按指定的格式输入。
package main
import (
"fmt"
)
func main() {
// 接收 姓名,年龄,薪水,是否通过考试
var name string
var age int
var salary float64
var exam bool
fmt.Println("请输入姓名, 年龄, 薪水, 是否通过考试, 用空格隔开:")
fmt.Scanf("%s %d %f %t", &name, &age, &salary, &exam)
fmt.Printf("姓名: %s, 年龄: %d, 薪水: %f, 是否通过考试: %t\n", name, age, salary, exam)
}
输出结果为:
二、进制转换
对于整数,有四种表示方式:二进制、十进制、八进制 (以数字0开头表示) 和十六进制 (以0x或0X开头表示)。
1. 其他进制转十进制
1) 二进制转十进制
规则: 从最低位 (最右边) 开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
比如: 或 。
2) 八进制转十进制
规则: 从最低位 (最右边) 开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。
比如:。
3) 十六进制转十进制
规则: 从最低位 (最右边) 开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。
比如:。
2. 十进制转其他进制
1) 十进制转二进制
规则: 将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,得到对应的二进制。
比如:,因此。
2) 十进制转八进制
规则: 将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,得到对应的八进制。
比如:,因此。
3) 十进制转十六进制
规则: 将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,得到对应的十六进制。
比如:,因此。
3. 二进制转八进制和十六进制
1) 二进制转八进制
规则:将二进制数从最低位开始,每三位一组转成对应的八进制。
比如:。
2) 二进制转十六进制
规则:将二进制数从最低位开始,每四位一组转成对应的十六进制。
比如:。
4. 其他进制转二进制
1) 八进制转二进制
规则:将八进制的每一位数,转换成一个三位的二进制。
比如:
2) 十六进制转二进制
规则:将十六进制的每一位数,转换成一个四位的二进制。
比如: