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

清远网站开发网站建设合同 果动.l

清远网站开发,网站建设合同 果动.l,青岛建筑模板,凡科免费建站平台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.w-s-a.com/news/484161/

相关文章:

  • 山东省建设备案网站审批国际新闻最新消息10条简短
  • 成都市建设网扬尘监控网站短域名转换
  • 怎么做手机网站潍坊建设银行网站
  • 做网站分什么软件品牌设计培训
  • 太原网站设计排名设计本装修效果图
  • 网站个人中心模板石家庄网站系统开发
  • 优秀的电子商务网站教育公司网站建设文案
  • 网站开发市场成本网站链接推广工具
  • 猪八戒做网站排名常州seo博客
  • wordpress 网站遭篡改如何优化公司的网站
  • 汉中公司做网站网站建设的风格设置
  • 网站建议怎么写怎么做网页连接
  • 站长工具seo综合查询下载安装软件平台搭建包括哪几个方面
  • 做网站怎么存放视频支付功能网站建设
  • 庆阳手机网站设计兰州网站的优化
  • 企业网站托管有必要吗项目管理资格证书
  • 检索类的网站建设个人博客网页模板图片
  • 贵阳网站建设搜q479185700做网站有什么语言好
  • 制作公司主页网站贵阳网站建设技术托管
  • 广西建设网站网址多少钱南京江北新区地图
  • 网站建设及优化 赣icp外包服务美剧
  • wordpress添加菜单深圳优化网站排名
  • 免费下载建设银行官方网站重点专业建设验收网站
  • 建行官方网站登录怎样制作悬浮的WordPress
  • 建设一个网站需要几个角色广告设计与制作就业前景
  • 侵入别人的网站怎么做怎么修改网站排版
  • 网站如何提交百度收录什么最便宜网站建设
  • 商丘网站建设想象力网络做公司网站需要准备什么
  • 滁州新手跨境电商建站哪家好网站推广运作怎么做
  • 烟台有没有做网站大连建设工程信息网专家库