用Go語言實現一個簡單的聊天機器人

來源:互聯網
上載者:User

標籤:異常   divide   oct   reads   blank   cas   pkg   切片   port   

一、介紹

目的:使用Go語言寫一個簡單的聊天機器人,複習整合Go語言的文法和基礎知識。

軟體環境:Go1.9,Goland 2018.1.5。

 

二、回顧

Go語言基本構成要素:標識符、關鍵字、字面量、分隔字元、操作符。它們可以組成各種運算式和語句,而後者都無需以分號結尾。

  • 標識符:程式實體,前者即為後者的名稱。
  • 關鍵字:被程式設計語言保留的字元序列,不能把它用作標識符。
  • 字面量:值的一種標記法。
  • 操作符==運算子:用於執行特定算術或邏輯操作的符號,操作的對象稱為運算元。

 

數組:由若干相同類型的元素組成的序列。

切片(slice):可以看作是一種對數組的封裝形式,它封裝的數組稱為該切片的底層數組。

函數和方法:一個函數的聲明通常包括關鍵字func、函數名、分別由圓括弧包裹的參數列表和結果清單,以及由花括弧包裹的函數體。

func divide(dividend int,divisor ,int)(int,error){    }//函數可以沒有參數列表,也可以沒有結果清單,但空參數列表必須保留括弧,而空結果清單則不用func printTab(){    //}

 

 

三、程式(初版本)

代碼倉庫連結:https://github.com/OctopusLian/ChatRobot

package mainimport (    "bufio"    "os"    "fmt"    "strings")func main() {    inputReader := bufio.NewReader(os.Stdin)  //準備從標準輸入讀取資料    fmt.Println("Please input your name:")    input,err := inputReader.ReadString(‘\n‘)  //讀取資料直到碰到 \n為止    if err != nil{        fmt.Printf("An error occurred:%s")        os.Exit(1)  //異常退出    }else {        //用切片操作刪除最後的 \n        name := input[:len(input)-1]        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)-1]        //全部轉換為小寫        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.")        }    }}

 

參考資料

bufio

os

strings

fmt

 

用Go語言實現一個簡單的聊天機器人

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.