为了账号安全,请及时绑定邮箱和手机立即绑定

仅从循环 GOLANG 中获取第一个值

仅从循环 GOLANG 中获取第一个值

Go
小怪兽爱吃肉 2022-06-06 17:14:24
有谁知道为什么当我在循环内调用变量时它取第一个值?我想制作回文,但代码就是这样,有人可以解释一下。我是 GO 新手    package main    import "fmt"    func main() {        var kata, kosong, kebalikan, katanya string    fmt.Print("Kata :")    fmt.Scan(&kata)    panjang := len(kata) - 1    for i := panjang; i >= 0; i-- {        kebalikan = kosong + fmt.Sprint(string(kata[i]))        fmt.Print(kebalikan)    }    fmt.Print("\n")    for i := 0; i <= panjang; i++ {        katanya = kosong + fmt.Sprint(string(kata[i]))        fmt.Print(katanya)    }    fmt.Println(katanya)    fmt.Println(kebalikan)    if fmt.Sprint(katanya) == fmt.Sprint(kebalikan) {        fmt.Println(true)    } else {        fmt.Println(false)    }}
查看完整描述

2 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

你有你的大于和小于符号错误的方式。i >= 0检查 i 何时大于或等于 0,因为您将 i 设置为该字符串的长度,所以将从一开始就进行检查。



查看完整回答
反对 回复 2022-06-06
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

我从我自己的问题中得到了答案,我的意思是


var kata, kebalikan string


fmt.Print("Kata :")

fmt.Scan(&kata)

panjang := len(kata) - 1

for i := panjang; i >= 0; i-- {

    kebalikan = kebalikan + fmt.Sprint(string(kata[i]))

}

if fmt.Sprint(kata) == fmt.Sprint(kebalikan) {

    fmt.Println(true)

} else {

    fmt.Println(false)

}


查看完整回答
反对 回复 2022-06-06
  • 2 回答
  • 0 关注
  • 226 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信