聊天机器人mysql数据_示例:聊天机器人

结合咱们之前的学习,本节带领大家来编写一个聊天机器人的雏形,下面的代码中展示了一个简单的聊天程序。

package main

import (

"bufio"

"fmt"

"os"

"strings"

)

func main() {

// 准备从标准输入读取数据。

inputReader := bufio.NewReader(os.Stdin)

fmt.Println("Please input your name:")

// 读取数据直到碰到 \n 为止。

input, err := inputReader.ReadString('\n')

if err != nil {

fmt.Printf("An error occurred: %s\n", err)

// 异常退出。

os.Exit(1)

} else {

// 用切片操作删除最后的 \n 。

name := input[:len(input)-2]

fmt.Printf("Hello, %s! What can I do for you?\n", name)

}

for {

input, err = inputReader.ReadString('\n')

if err != nil {

fmt.Printf("An error occurred: %s\n", err)

continue

}

input = input[:len(input)-2]

// 全部转换为小写。

input = strings.ToLower(input)

switch input {

case "":

continue

case "nothing", "bye":

fmt.Println("Bye!")

// 正常退出。

os.Exit(0)

default:

fmt.Println("Sorry, I didn't catch you.")

}

}

}

这个聊天程序在问候用户之后会不断地询问“是否可以帮忙”,但是实际上它什么忙也帮不上,因为它现在什么也听不懂,除了 nothing 和 bye,一看到这两个词,它就会与用户“道别”,停止运行,现在试运行一下这个命令源码文件:

D:\code>go run test.go

Please input your name:

->Robert

Hello, Robert! What can I do for you?

->A piece of cake, please.

Sorry, I didn't catch you.

->Bye

Bye!

注意,其中的“->”符号之后的内容是我们输入的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值