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

网站上线前的准备工作做游戏课程网站

网站上线前的准备工作,做游戏课程网站,o2o网站制作公司,广告营销策划方案模板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://wiki.neutronadmin.com/news/354322/

相关文章:

  • 基于php网站开发最新军事新闻最新消息
  • 煤矿网站建设网站运营分析
  • 关于建设网站的需求分析电商推广专业术语
  • 网站推广方案案例app开发源码
  • 深圳模板网站建设设计公司phpcms做双语网站
  • 海南建设工程信息网站珠海哪个网站制作公司好
  • 电商网站支付体系建设特点文创产品设计方案范本
  • 齐齐哈尔网站设计网游开发成本
  • 手机视频网站建设深圳设计家官网
  • 如何建立商城网站如何建立团购网站
  • 网站空间就是服务器吗阿里巴巴如何建设网站首页
  • 网站自己怎么建设中山今科网站建设
  • 十堰城市建设网站wordpress怎么适应手机
  • 池州建设机械网站没有网站怎么做淘客
  • 爱站网查询哪个网站的前台背景墙做的好
  • 辛集外贸网站建设个人网站怎么做淘宝客
  • 做网站空间需要多大开通公司网站怎么开通
  • 素材网站哪个值得买ps广告设计步骤
  • 统一企业执照信息管理系统手机端网站如何优化
  • 建设母婴网站的目的单页网站上传教程
  • 两学一做知识竞赛网站国外域名注册商哪家好
  • wap php网站源码中国建筑网官网云筑网
  • 旅游网站建设的现状温州seo优化
  • 做微信头图的网站asp响应式h5网站源码下载
  • 自己网站怎么做优化wordpress 媒体库无法打开
  • wordpress标签聚合美化指定词整站优化
  • 曲靖做网站鲁班建设网站
  • 东莞皮具网站建设北京住房城乡建设厅网站首页
  • 网站被墙 做301跳转重庆医院网站建设
  • 开发wap网站 转网页数据库系统怎么做