结合咱们之前的学习,本节将带领大家来编写一个聊天机器人的雏形。下面的代码中展示了一个很傻的聊天程序。
packagemainimport("bufio""fmt""os""strings")funcmain(){//准备从标准输入读取数据。inputReader:=bufio.NewReader(os.Stdin)fmt.Println("Pleaseinputyourname:")//读取数据直到碰到n为止。input,err:=inputReader.ReadString('n')iferr!=nil{fmt.Printf("Anerroroccurred:%sn",err)//异常退出。os.Exit(1)}else{//用切片操作删除最后的n。name:=input[:len(input)-2]fmt.Printf("Hello,%s!WhatcanIdoforyou?n",name)}for{input,err=inputReader.ReadString('n')iferr!=nil{fmt.Printf("Anerroroccurred:%sn",err)continue}input=input[:len(input)-2]//全部转换为小写。input=strings.ToLower(input)switchinput{case"":continuecase"nothing","bye":fmt.Println("Bye!")//正常退出。os.Exit(0)default:fmt.Println("Sorry,Ididn'tcatchyou.")}}}
这个聊天程序在问候用户之后会不断地询问“是否可以帮忙”,但是实际上它什么忙也帮不上。因为它现在什么也听不懂,除了nothing和bye。一看到这两