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

asp.net做网站头部和尾部_都用什么来实现平台网站建设网站

asp.net做网站头部和尾部_都用什么来实现,平台网站建设网站,企业网站开发外包公司,wordpress 最新max 函数 func max[T cmp.Ordered](x T, y …T) T 这是一个泛型函数,用于从一组值中寻找并返回 最大值,该函数至少要传递一个参数。在上述函数签名中,T 表示类型参数,它必须满足 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 "fmt"func 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", "aac"maxS := 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 "fmt"func 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", "aac"minS := 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 "fmt"type 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.yayakq.cn/news/454596/

相关文章:

  • 做网站哪里比较好h5页面制作软件电脑版
  • 摄影建设网站个人做网站需要备案吗
  • 司法网站建设与维护 教材wordpress热门标签调用
  • 公司的网站建设是什么部门龙岗住房和建设局网站
  • 免费网站重生做军嫂吉首企业网站建设价格
  • 越南的网站建设我的南京网站
  • 教做flash的网站dede游戏网站源码
  • 网站微信二维码侧边栏漂浮框网站上线是前端还是后端来做
  • 南宁哪有网站建设公司做游戏需要学什么
  • 做网站IP网上销售型企业网站
  • 宁波建设商城网站个人简介网站html代码
  • tinkphp5网站开发互联网趋势发展前景
  • 二级域名对于英文网站推广有什么影响python采集数据wordpress
  • 营销网站建设创意wordpress 自定义 文章形式
  • 温州关键词优化工具怎样优化标题关键词
  • 编程的网站都有哪些wordpress让小工具支持简码
  • 唐山网站建设唐山wordpress手机字体变大6
  • 找南阳建立网站的公司小程序后台
  • 上海餐饮网站建设推广品牌平台
  • 制作网站的素材做旅游网站宣传
  • 找建网站公司电子商务网站建设及推广方案论文
  • 站长之家app下载视频网站开发用什么服务器
  • 校园网网站建设实训报告哪个网页设计培训机构好
  • 访问中国建设银行官方网站新开传奇网站180火龙
  • 山西国人伟业网站比价网站源码整站程序
  • 网站域名免费申请网站建设求职简历模板下载
  • 自己做网站投放有流量么asp网站后台制作
  • asp网站建设实录pdf网站开发之ios知识扩展
  • WordPress数据库备份还原北京百度seo推广
  • 网站建设 模板社保个人网站