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

厦门网站设计公司找哪家厦门小程序建设如何做好企业网站

厦门网站设计公司找哪家厦门小程序建设,如何做好企业网站,电脑制作网站用哪个软件,wordpress段子主题max 函数 func max[T cmp.Ordered](x T, y …T) T 这是一个泛型函数#xff0c;用于从一组值中寻找并返回 最大值#xff0c;该函数至少要传递一个参数。在上述函数签名中#xff0c;T 表示类型参数#xff0c;它必须满足 cmp.Ordered 接口中定义的数据类型要求#xff0…max 函数 func max[T cmp.Ordered](x T, y …T) T 这是一个泛型函数用于从一组值中寻找并返回 最大值该函数至少要传递一个参数。在上述函数签名中T 表示类型参数它必须满足 cmp.Ordered 接口中定义的数据类型要求该接口的定义如下所示 type Ordered interface {~int | ~int8 | ~int16 | ~int32 | ~int64 |~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |~float32 | ~float64 |~string }使用示例 了解了 max 函数的定义后让我们一起来学习如何使用它。 package mainimport fmtfunc main() {var a1, a2, a3 int64 1, 2, 3maxA : max(a1, a2, a3)fmt.Printf(%T, %d\n, maxA, maxA) // int64, 3var f1, f2, f3 float64 1.0, 2.0, 3.0maxF : max(f1, f2, f3)fmt.Printf(%T, %.1f\n, maxF, maxF) // float64, 3.0var s1, s2, s3 string aaa, aab, aacmaxS : max(s1, s2, s3)fmt.Printf(%T, %s\n, maxS, maxS) // string, aac } 在上述示例中使用了 max 函数分别对 int64、float64 和 string 类型的一组值进行比较并获取最大值值得注意的地方是 string 类型的比较原理它是 基于字节的字典顺序对字符串进行比较。 min 函数 func min[T cmp.Ordered](x T, y …T) T 该函数与 max 函数的功能相反用于从一组值中寻找并返回 最小值同样传递进来的值类型也必须满足 cmp.Ordered 接口中定义的数据类型要求。 使用示例 package mainimport fmtfunc main() {var a1, a2, a3 int64 1, 2, 3minA : min(a1, a2, a3)fmt.Printf(%T, %d\n, minA, minA) // int64, 1var f1, f2, f3 float64 1.0, 2.0, 3.0minF : min(f1, f2, f3)fmt.Printf(%T, %.1f\n, minF, minF) // float64, 1.0var s1, s2, s3 string aaa, aab, aacminS : min(s1, s2, s3)fmt.Printf(%T, %s\n, minS, minS) // string, aaa } 在上述示例中使用了 min 函数分别对 int64、float64 和 string 类型的一组值进行比较并获取最小值string 类型的比较原理与 max 函数的比较原理相同。 clear 函数 func clear[T ~[]Type | ~map[Type]Type1](t T) 该函数接收一个参数 t用于清空变量 t 类型为 slice 或 map 中的元素。 如果传递的是切片类型变量则会将切片的所有元素赋值为该切片类型的零值 如果传递的是 map 类型变量则会清空 map 类型变量的元素 如果传递的是自定义泛型类型例如 type MySlice[T any] []T则类型集中所有类型必须是 slice 或 map。 使用示例 package mainimport fmttype MySlice[T any] []T type MyMap[K comparable, V any] map[K]Vfunc main() {s : []int{1, 2, 3, 4}clear(s)fmt.Printf(len: %d, cap: %d, elems: %v\n, len(s), cap(s), s) // len: 4, cap: 4, elems: [0 0 0 0]m : map[string]int{Apple: 1, Banana: 2}clear(m)fmt.Printf(len: %d, elems: %v\n, len(m), m) // len: 0, elems: map[]// 自定义泛型切片类型变量mySlice : MySlice[string]{公众号Go技术干货, 陈明勇, Gopher}clear(mySlice)fmt.Printf(len: %d, cap: %d, elems: %v\n, len(mySlice), cap(mySlice), mySlice) // len: 3, cap: 3, elems: [ ]// 自定义泛型 map 类型变量myMap : MyMap[string, int]{Apple: 1, Banana: 2}clear(myMap)fmt.Printf(len: %d, elems: %v\n, len(myMap), myMap) // len: 0, elems: map[] } 在上述示例中演示了如何通过 clear 函数对切片或 map 变量进行删除或清空操作clear 函数不仅能接收 slice 和 map 类型的变量还能接收我们所自定义的泛型类型参数但是在使用时必须确保类型参数集中所有类型必须是 slice 或 map。 值得注意的是使用 clear 函数清空切片元素时并不会真正的删除其中的元素而是会将所有元素都设置为对应类型的零值。这意味着切片仍然保留其原始长度和容量但元素的内容被清空。 小结 本文详细介绍了 Go 1.21.0 版本中新增的内置函数 max、min、和 clear。通过使用这些函数我们无需再自行定义比较大小或清空切片以及 map 变量的函数。 遗憾的是要彻底清空切片并将长度和容量都置为 0仍然需要另外封装一个函数来实现。因为 clear 函数只是将切片的元素赋值为相应类型的零值而未改变其长度和容量。
http://www.tj-hxxt.cn/news/216785.html

相关文章:

  • 网站开发5000互联网保险公司有几家
  • 广告推广合同范本网站关键词优化效果
  • 5个网站建设跟我学seo从入门到精通
  • 旅游网站排名排行榜连云港网站关键字优化市场
  • 网站代做网站建设服务费要不要折旧呢
  • 站长统计是什么意思怎么做企业网站原型
  • 昆明网站建站网络营销八大目标是什么
  • 互联网站备案表浙江住房和建设网站
  • 网站设计人员就业要求建站资源共享
  • 经典重庆网站php免费开源crm系统
  • 鄞州区网站建设报价佛山高端网站制作公司
  • 开源免费企业网站系统泰安网站建设哪家强
  • 一级a做爰片免费网站短视频播放网站开发合同适用印花税
  • 网站设计如何收费手机网站生成app软件
  • 以遇见为主题做网站上海相亲网
  • 大屯街道网站建设wordpress主题博客
  • 电子商务网站建设设计题全球外贸网站排名
  • 网站方案讲解技巧建设银行行号查询网站
  • 企业网站建设哪家长沙做网站公司哪家
  • 古典棕色学校网站模板大邑县建设银行网站
  • 网站建设调查注册有限公司需要什么资料
  • 网站运营需要做什么网页qq小游戏
  • 网站建设开票属于哪个名称电商网站网络服务
  • 工程建设工程信息网seo技术员
  • 花生壳免费域名注册网站哪个网站的排行榜权威
  • 海门做网站长春seo公司长春网站设计
  • 手机网站设计宽度河南网站备案中心
  • 贵州新农村建设专业网站wordpress上传rar
  • 网站权重怎么做南昌网站建设品牌
  • 建设一个企业网站多少钱做照片有那些网站好