大学里大家应该基本上都写过一些和控制台进行交互的课后作业,下面是一个go版本的简单交互程序。

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    in := bufio.NewReader(os.Stdin) // 声明并初始化读取器
    fmt.Println("What is your name?")

    input, err := in.ReadString('\n') // 以回车为分隔符
    if err != nil {
        fmt.Printf("oh, get error: %v\n", err)
        return
    }

    name := input[:len(input)-1] // 去除回车
    fmt.Printf("Hello, %s!\n", name)
}
输出,abc为用户输入
What is your name?
abc
Hello, abc!

go中,slice[A:B:C]里,A表示start index, B表示长度, C表示容量,在实际应用中,C很少用到,而且还有简化形式

  • SLICE[A:] // 从A切到最后
  • SLICE[:B] // 从开始切到B(不包含B)
  • SLICE[:] // 从头切到尾,等价于复制整个SLICE

iuoui
120 声望10 粉丝