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

在GO中读取一些字符串并打印最长字符串的最佳方式

在GO中读取一些字符串并打印最长字符串的最佳方式

Go
慕田峪9158850 2022-08-30 21:14:09
我快疯了。我正在尝试编写一个程序,该程序读取一些字符串(在我的情况下为5)并打印最长的字符串。我已经谷歌和搜索在这里,但我不喜欢任何东西...package mainimport "fmt"func main() {    var t1, t2, t3, t4, t5 string    fmt.Scan(&t1, &t2, &t3, &t4, &t5)    var l1, l2, l3, l4, l5 int    var max int = -50000    l1 = len(t1)    l2 = len(t2)    l3 = len(t3)    l4 = len(t4)    l5 = len(t5)    var longest string = ""    if l1 > max {        l1 = max    }    if l2 > max {        l2 = max    }    if l3 > max {        l3 = max    }    if l4 > max {        l4 = max    }    if l5 > max {        l5 = max    }    fmt.Println(max)}
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

在这里,我编写了简单的代码来做到这一点。如上所述,跟随A Tour of Go,并进一步了解围棋循环。Flimzy


package main


import "fmt"


func main() {

    

    t := make([]string, 5)

         //scan strings first

    for  i := range t {

        fmt.Scan(&t[i])

    }


    var longest string = ""

        // compare longest

    for _, s := range t {

        if len(longest) < len(s) {

            longest = s

        }

    }


    fmt.Println(`longest := `,longest)

}

您可以减少第一个循环并按照以下方式进行。扫描字符串并在一个循环中进行比较。


package main


import "fmt"


func main() {

    t := make([]string, 5)


    var longest string = ""

    for i, _ := range t {

        fmt.Scan(&t[i])

        if len(longest) < len(t[i]) {

            longest = t[i]

        }

    }


    fmt.Println(`longest := `,longest)

}


查看完整回答
反对 回复 2022-08-30
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

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