当前位置: 首页 > news >正文

万网博通迈步者seo

万网博通,迈步者seo,网站开发实战视频教程,wordpress 滚动公告Go 1.21新增的 slices 包提供了很多和切片相关的函数,可以用于任何类型的切片。 slices.Max 定义如下: func Max[S ~[]E, E cmp.Ordered](x S) E 返回 x 中的最大值,如果 x 为空,则 panic。对于浮点数 E, 如果有元素为 NaN&am…

Go 1.21新增的 slices 包提供了很多和切片相关的函数,可以用于任何类型的切片。

slices.Max

定义如下:

func Max[S ~[]E, E cmp.Ordered](x S) E

返回 x 中的最大值,如果 x 为空,则 panic。对于浮点数 E, 如果有元素为 NaN,结果就是 NaN。简单示例如下:

package mainimport ("fmt""math""slices"
)func main() {numbers := []int{0, 10, -1, 8}fmt.Println(slices.Max(numbers)) // 10 numbers2 := []float64{0, 10, -1, 8, math.NaN()}fmt.Println(slices.Max(numbers2)) // NaN
}

slices.MaxFunc

定义如下:

func MaxFunc[S ~[]E, E any](x S, cmp func(a, b E) int) E

返回 x 中的最大值,使用 cmp 函数来比较元素,如果 x 为空,则 panic。如果根据 cmp 函数计算后有多个最大元素,返回第一个。简单示例如下:

package mainimport ("cmp""fmt""slices"
)func main() {type Person struct {Name stringAge  int}people := []Person{{"Gopher", 13},{"Alice", 55},{"Vera", 24},{"Bob", 55},}firstOldest := slices.MaxFunc(people, func(a, b Person) int {return cmp.Compare(a.Age, b.Age)})fmt.Println(firstOldest.Name) // Alice
}

slices.Min

定义如下:

func Min[S ~[]E, E cmp.Ordered](x S) E

返回 x 中的最小值,如果 x 为空,则 panic。对于浮点数 E, 如果有元素为 NaN,结果就是 NaN。简单示例如下:

package mainimport ("fmt""math""slices"
)func main() {numbers := []int{0, 10, -1, 8}fmt.Println(slices.Min(numbers)) // -1numbers2 := []float64{0, 10, -1, 8, math.NaN()}fmt.Println(slices.Min(numbers2)) // NaN
}

slices.MinFunc

定义如下:

func MinFunc[S ~[]E, E any](x S, cmp func(a, b E) int) E

返回 x 中的最小值,使用 cmp 函数来比较元素,如果 x 为空,则 panic。如果根据 cmp 函数计算后有多个最小元素,返回第一个。简单示例如下:

package mainimport ("cmp""fmt""slices"
)func main() {type Person struct {Name stringAge  int}people := []Person{{"Gopher", 13},{"Alice", 55},{"Vera", 24},{"Bob", 55},}firstYoungest := slices.MinFunc(people, func(a, b Person) int {return cmp.Compare(a.Age, b.Age)})fmt.Println(firstYoungest.Name) // Gopher
}

slices.Replace

定义如下:

func Replace[S ~[]E, E any](s S, i, j int, v ...E) S

将元素 s[i:j] 替换为给定的 v,并返回修改后的切片。如果 s[i:j] 不是 s 的一部分,则 panic。简单示例如下:

package mainimport ("fmt""slices"
)func main() {names := []string{"Alice", "Bob", "Vera", "Zac"}names = slices.Replace(names, 1, 3, "Bill", "Billie", "Cat")fmt.Println(names) // [Alice Bill Billie Cat Zac]
}

slices.Reverse

定义如下:

func Reverse[S ~[]E, E any](s S)

反转切片中的元素。简单示例如下:

package mainimport ("fmt""slices"
)func main() {names := []string{"alice", "Bob", "VERA"}slices.Reverse(names)fmt.Println(names) // [VERA Bob alice]
}

slices.Sort

定义如下:

func Sort[S ~[]E, E cmp.Ordered](x S)

对有序类型的切片进行升序排序。对于浮点数类型,NaN 排在其它值之前。简单示例如下:

package mainimport ("fmt""math""slices"
)func main() {s1 := []int8{0, 42, -10, 8}slices.Sort(s1) fmt.Println(s1) // [-10 0 8 42]s2 := []float64{0, math.NaN(), -10, 8, math.NaN()}slices.Sort(s2)fmt.Println(s2) // [NaN NaN -10 0 8]
}

slices.SortFunc

定义如下:

func SortFunc[S ~[]E, E any](x S, cmp func(a, b E) int)

按照 cmp 函数确定的升序对切片 x 进行排序,这种排序不能保证稳定。Cmp (a, b) 函数应该在 a < b 时返回一个负数,在 a > b 时返回一个正数,在 a == b 时返回零。SortFunc 要求 cmp 函数是严格的弱排序类型。简单示例如下:

package mainimport ("cmp""fmt""slices""strings"
)func main() {names := []string{"Bob", "alice", "VERA"}slices.SortFunc(names, func(a, b string) int {return cmp.Compare(strings.ToLower(a), strings.ToLower(b))})fmt.Println(names) // [alice Bob VERA]
}

slices.SortStableFunc

定义如下:

func SortStableFunc[S ~[]E, E any](x S, cmp func(a, b E) int)

对切片 x 进行排序,同时保持相等元素的原始顺序,使用 cmp 以与 SortFunc 相同的方式比较元素。简单示例如下:

package mainimport ("cmp""fmt""slices"
)func main() {type Person struct {Name stringAge  int}people := []Person{{"Gopher", 13},{"Alice", 20},{"Bob", 24},{"Alice", 55},}// Stable sort by name, keeping age ordering of Alices intactslices.SortStableFunc(people, func(a, b Person) int {return cmp.Compare(a.Name, b.Name)})fmt.Println(people) // [{Alice 20} {Alice 55} {Bob 24} {Gopher 13}]
}

http://www.mmbaike.com/news/96708.html

相关文章:

  • 分类目录网站大全做seo怎样在浏览器上找网站
  • 兰考县红庙关东村做网站的郑州优化公司有哪些
  • 做期货看什么网站的资讯少儿编程培训机构排名前十
  • 泉州手机端建站模板凡科建站多少钱
  • 做网站的登陆功能珠海企业网站建设
  • 做静态网站步骤seo是如何优化
  • 如何做网站seo网络营销与策划
  • 自己做购物网站需要什么广告网站留电话
  • 网站建设公司怎么做业务南宁seo计费管理
  • 做网站需要做什么搜索引擎营销优化的方法
  • 网站备案注销 万网搜索引擎排名
  • 中山网站优化最有效的免费推广方法
  • 产品销售网站模块如何设计国际新闻头条今日国际大事
  • uehtml 网站源码外贸平台有哪些
  • 湛江模板建站哪家好中国免费网站服务器主机域名
  • 如何给网站增加内链百度指数的网址是什么
  • 河南高端网站建设cba最新排名
  • 好的ftp网站给企业做网站的公司
  • 网站网页制作公司网站刷关键词排名软件
  • 网站建设品牌策划方案广东企业网站seo报价
  • 网站建设公司无锡seo快速排名代理
  • 四川长昕建设工程有限公司网站宁波专业seo服务
  • 一流的龙岗网站建设精准营销平台
  • 南沙滩做网站公司网站宣传推广策划
  • 蓝色系列的网站近三天的国内外大事
  • 福田附近公司做网站建设哪家效益快如何在百度上做推广
  • 新浪 博客可以做网站优化吗360收录
  • 可视化web网站开发自媒体怎么做
  • 三亚网站定制网络优化有前途吗
  • 专业做公墓 陵园的网站上海网站建设优化