Go 从用户输入获取字符串长度

Go 从用户输入获取字符串长度,go,Go,我想得到字符串长度,这里是我的代码: package main import ( "bufio" "fmt" "os" "strconv" ) func main() { reader := bufio.NewReader(os.Stdin) fmt.Print("Text to send: ") text, _ := reader.ReadString('\n') fmt.Print(strconv.Itoa(len(text

我想得到字符串长度,这里是我的代码:

package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
)

func main() {
    reader := bufio.NewReader(os.Stdin)
    fmt.Print("Text to send: ")
    text, _ := reader.ReadString('\n')
    fmt.Print(strconv.Itoa(len(text)))

}
输入:aaa

输出为5,但应为3


我知道我可以从结果中减去-2,但我想要更干净的方式

您需要从输入中删除空白:

import (
    "fmt"
    "strings"
)

func main() {
     reader := bufio.NewReader(os.Stdin)
     fmt.Print("Text to send: ")
     text, _ := reader.ReadString('\n')
     newText := strings.TrimSpace(text)
     fmt.Print(strconv.Itoa(len(newText)))    
}

尝试删除空白。请参阅字符串包。请尝试fmt.Printf%q\n,text以了解不可见字符是什么。还要注意,fmt.Print接受任何类型的参数,因此不需要将len的结果转换为字符串,只需使用fmt.Printlentext即可。对于输入a,它会打印2,但应该打印1。您可以修复答案吗?修剪空间应删除所有空白