一、键盘输入语句

使用键盘输入语句获取用户输入的数据:导入fmt包并调用 fmt.Scanln() 或 fmt.Scanf()。

1. 调用fmt.Scanln()


go语言 输入数组_golang

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)
}

输出结果为:

go语言 输入数组_golang_02

2. 调用 fmt.Scanf()

fmt.Scanf():可以按指定的格式输入。

go语言 输入数组_go_03

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)
}

输出结果为:

go语言 输入数组_golang_04

二、进制转换

对于整数,有四种表示方式:二进制十进制八进制 (以数字0开头表示) 和十六进制 (以0x或0X开头表示)。

1. 其他进制转十进制

1) 二进制转十进制

规则: 从最低位 (最右边) 开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。

比如:go语言 输入数组_十进制_05go语言 输入数组_八进制_06

2) 八进制转十进制

规则: 从最低位 (最右边) 开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。

比如:go语言 输入数组_go_07

3) 十六进制转十进制

规则: 从最低位 (最右边) 开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。

比如:go语言 输入数组_go语言 输入数组_08

2. 十进制转其他进制

1) 十进制转二进制

规则: 将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,得到对应的二进制。

比如:go语言 输入数组_go语言 输入数组_09,因此go语言 输入数组_go_10

2) 十进制转八进制

规则: 将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,得到对应的八进制。

比如:go语言 输入数组_go语言 输入数组_11,因此go语言 输入数组_十进制_12

3) 十进制转十六进制

规则: 将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,得到对应的十六进制。

比如:go语言 输入数组_go语言 输入数组_13,因此go语言 输入数组_go语言 输入数组_14

3. 二进制转八进制和十六进制

1) 二进制转八进制

规则:将二进制数从最低位开始,每三位一组转成对应的八进制。

比如:go语言 输入数组_golang_15

2) 二进制转十六进制

规则:将二进制数从最低位开始,每四位一组转成对应的十六进制。

比如:go语言 输入数组_go_16

4. 其他进制转二进制

1) 八进制转二进制

规则:将八进制的每一位数,转换成一个三位的二进制。

比如:go语言 输入数组_golang_17

2) 十六进制转二进制

规则:将十六进制的每一位数,转换成一个四位的二进制。

比如:go语言 输入数组_十进制_18