golang 使用Go查找给定切片中的最大字符串数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 使用Go查找给定切片中的最大字符串数相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
)
func MaxString(s []string) string {
max := s[0]
for _, v := range s[1:] {
if v > max {
max = v
}
}
return max
}
func MaxStringRec(s []string) string {
if len(s) == 0 {
return ""
}
if len(s) == 1 {
return s[0]
}
if s[0] > s[1] {
return MaxStringRec(append(s[:1], s[2:]...))
} else {
return MaxStringRec(s[1:])
}
}
func main() {
fmt.Printf("%v\n", Max([]string{"alpha", "Delta", "delta", "zuluzulu", "beta"}))
fmt.Printf("%v\n", Max2([]string{"alpha", "Delta", "delta", "zuluzulu", "beta"}))
}
go切片遍历
参考技术A
对于切片的顺序遍历,一般使用 range 就可以了。
这里有一个问题需要注意一下,如果这里的切片nums不是基本数据类型而是结构体。range遍历出来的value值是拷贝值而并非原结构体,修改value中的值不会改变原切片中的值。如果要遍历修改,可以将切片的结构体改为指针,或都索引来取值。
一般情况下逆序遍历思路就是for size-1到0.
二般的也可以使用range来遍历
以上是关于golang 使用Go查找给定切片中的最大字符串数的主要内容,如果未能解决你的问题,请参考以下文章
Go-二分查找算法
go切片遍历
Golang理解-数组和切片
Golang 基础:Go Module, for range, 切片, map, struct 等使用和实现
Golang 基础:Go Module, for range, 切片, map, struct 等使用和实现
Golang 入门总结:Go Module, for range, 切片, map, struct 等使用和实现