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)))

}

输入: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)))    
}

关于go - 从用户输入获取字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58791515/

相关文章:

go - 通过 reflect.Value.SetString 设置新字符串

go - 获取 interface{ } 的值,而无需访问类型

go - panic : runtime error: index out of range 1

cross-platform - 如何在 Go 中处理特定于平台的模块?

json - 在字符串中插入一个变量

javascript - Cayley:如何使用 Cayley-Gremlin 代码将顶点和边插入到图中?

json - 如何在 golang 中解码 JSON

go - ParseInt 不转换为所需的类型

bash - 如何获取使用bash制表的变量的值

regex - 用于检测私有(private)和公共(public) RSA key 的正则表达式