登录
首页 >  Golang >  Go问答

无法准确比较 golang 中的两个字符串

来源:stackoverflow

时间:2024-03-01 15:18:26 372浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《无法准确比较 golang 中的两个字符串》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

嗨,我正在努力寻找号码。数字出现在编号中的次数。使用下面的代码。但即使该数字在数字中出现多次,j 的值也始终为 0。我想知道为什么当前的比较不起作用。是否可以在不将输入转换为整数的情况下执行此操作?

package main
import "fmt"
import "bufio"
import "os"

func main (){

reader := bufio.NewReader(os.Stdin)
c,_ := reader.ReadString('\n')
d,_ := reader.ReadString('\n')


j := 0
for _,i := range(c){
    if string(i) == d{
        fmt.Printf("inside if")
        j = j+1
    }
}
fmt.Println(j)

}

正确答案


func (b *reader) readstring(delim byte) (字符串,错误)

readstring 读取直到输入中第一次出现 delim,返回一个包含数据的字符串直到并包括分隔符

因此,如果您为 d 输入 3,则 d == "3\n"

你可能只需要这样做:

d,_ := reader.ReadString('\n')
d = d[:len(d)-1]

本篇关于《无法准确比较 golang 中的两个字符串》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>