亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

接收用戶輸入的簡單 CLI

接收用戶輸入的簡單 CLI

Go
繁星點點滴滴 2023-02-14 18:14:05
當我輸入命令時,在按下回車按鈕之前給一個空格,它工作正常,但如果沒有空格則不起作用我已經嘗試了幾種方法來解決這個問題,但一直無法解決import (    "bufio"    "fmt"    "os"    "strings")    func main() {        var notes []string        for {            fmt.Print("Enter a command and data: ")            reader := bufio.NewReader(os.Stdin)            line, _ := reader.ReadString('\n')            var joinedNote string            var note []string                splittedString := strings.Split(line, " ")                if splittedString[0] == "create" && len(splittedString) > 1 {                i := 1                for ; i < len(splittedString); i++ {                    note = append(note, splittedString[i])                }                joinedNote = strings.Join(note, "")                notes = append(notes, joinedNote)                fmt.Println("[OK] The note was successfully created")            }            if splittedString[0] == "list" || string(line) == "list" {                for i, noteList := range notes {                    newNote := strings.TrimSpace(noteList)                    fmt.Printf("[Info] %d: %s!\n", i, newNote)                }            }            if splittedString[0] == "clear" || line == "clear" {                notes = nil                fmt.Println("[OK] All notes were successfully deleted")            }                if splittedString[0] == "exit" || line == "exit" {                fmt.Println("[Info] Bye!")                os.Exit(0)            }        }    }
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

這樣做的原因是你包括了\n你從用戶那里捕獲的行,并且它后面沒有空格,被\n標記到你正在尋找的詞上(create\n不等于create)。解決此問題的最簡單方法是手動刪除\n尾隨line = line[:len(line)-1].

這是一個更深入的潛水。首先,該ReadString方法說它包含定界符,在這種情況下\n,您給它:

ReadString 一直讀取到輸入中第一次出現 delim,返回一個包含數據的字符串,直到并包括分隔符。所以我們知道除非您手動刪除它,否則它的末尾line總是有。\n

當單詞后跟一個空格時,您的代碼有效,因為您strings.Split(line," ")將輸入轉換create \n{"create","\n"}.


查看完整回答
反對 回復 2023-02-14
  • 1 回答
  • 0 關注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號