Go与用户交互demo

iuoui · · 1005 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

大学里大家应该基本上都写过一些和控制台进行交互的课后作业,下面是一个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

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:iuoui

查看原文:Go与用户交互demo

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1005 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传