Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 阅读一些字符串并打印GO中最长字符串的最佳方法_String_Go_Design Patterns_Find_Match - Fatal编程技术网

String 阅读一些字符串并打印GO中最长字符串的最佳方法

String 阅读一些字符串并打印GO中最长字符串的最佳方法,string,go,design-patterns,find,match,String,Go,Design Patterns,Find,Match,我快疯了。 我正试图编写一个程序,读取一些字符串(在我的例子5中)并打印最长的字符串。 我在这里搜索过,但我什么都不喜欢 package main import "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 in

我快疯了。 我正试图编写一个程序,读取一些字符串(在我的例子5中)并打印最长的字符串。 我在这里搜索过,但我什么都不喜欢

package main

import "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)
}

在这里,我编写了简单的代码来实现这一点。按照上面所说的
Flimzy
进行操作,进一步了解Go循环

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)
}
主程序包
输入“fmt”
func main(){
t:=make([]字符串,5)
//先扫描字符串
对于i:=范围t{
模式扫描(&t[i])
}
var longest string=“”
//比较长
对于u,s:=范围t{
如果len(最长)
您可以减少第一个循环,并按下面的方式进行。扫描字符串并在一个循环中进行比较

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)
}
主程序包
输入“fmt”
func main(){
t:=make([]字符串,5)
var longest string=“”
对于i,u:=范围t{
模式扫描(&t[i])
如果len(最长)
为什么不使用循环呢?我想,但我不知道如何将其应用到代码中。那么您可能想从“关于流量控制”一节开始。这项作业不是在倒退吗<代码>l1=最大值
。你想追踪最大的最大值,所以你必须在某个时候更新它。(将其固定在5个位置),您不必将
max
设置为-5000;0就可以了。5000让我们觉得那里有什么特别的东西。