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

手机网站免费做推广前海网站建设

手机网站免费做推广,前海网站建设,玩具网站开发背景,深圳宝安网站建设工在go的内置包slices中#xff0c; 所有的函数函数都使用了泛型#xff0c; 各种各样的泛型#xff0c; 可以说这个包绝对是go语言泛型学习的最佳实践之一#xff01; 来#xff0c;先来瞄一眼#xff0c;看看这个slices包里面的函数原型定义#xff1a; func BinarySe…在go的内置包slices中 所有的函数函数都使用了泛型 各种各样的泛型 可以说这个包绝对是go语言泛型学习的最佳实践之一 来先来瞄一眼看看这个slices包里面的函数原型定义 func BinarySearch[S ~[]E, E cmp.Ordered](x S, target E) (int, bool) func BinarySearchFunc[S ~[]E, E, T any](x S, target T, cmp func(E, T) int) (int, bool) func Clip[S ~[]E, E any](s S) S func Clone[S ~[]E, E any](s S) S func Compact[S ~[]E, E comparable](s S) S func CompactFunc[S ~[]E, E any](s S, eq func(E, E) bool) S func Compare[S ~[]E, E cmp.Ordered](s1, s2 S) int func CompareFunc[S1 ~[]E1, S2 ~[]E2, E1, E2 any](s1 S1, s2 S2, cmp func(E1, E2) int) int func Concat[S ~[]E, E any](slices ...S) S func Contains[S ~[]E, E comparable](s S, v E) bool func ContainsFunc[S ~[]E, E any](s S, f func(E) bool) bool func Delete[S ~[]E, E any](s S, i, j int) S func DeleteFunc[S ~[]E, E any](s S, del func(E) bool) S func Equal[S ~[]E, E comparable](s1, s2 S) bool func EqualFunc[S1 ~[]E1, S2 ~[]E2, E1, E2 any](s1 S1, s2 S2, eq func(E1, E2) bool) bool func Grow[S ~[]E, E any](s S, n int) S func Index[S ~[]E, E comparable](s S, v E) int func IndexFunc[S ~[]E, E any](s S, f func(E) bool) int func Insert[S ~[]E, E any](s S, i int, v ...E) S func IsSorted[S ~[]E, E cmp.Ordered](x S) bool func IsSortedFunc[S ~[]E, E any](x S, cmp func(a, b E) int) bool func Max[S ~[]E, E cmp.Ordered](x S) E func MaxFunc[S ~[]E, E any](x S, cmp func(a, b E) int) E func Min[S ~[]E, E cmp.Ordered](x S) E func MinFunc[S ~[]E, E any](x S, cmp func(a, b E) int) E func Replace[S ~[]E, E any](s S, i, j int, v ...E) S func Reverse[S ~[]E, E any](s S) func Sort[S ~[]E, E cmp.Ordered](x S) func SortFunc[S ~[]E, E any](x S, cmp func(a, b E) int) func SortStableFunc[S ~[]E, E any](x S, cmp func(a, b E) int)怎么样是不是全部都是清一色的泛型函数 来我们先拿第一个大名鼎鼎的二分查找函数来说说 func BinarySearch[S ~[]E, E cmp.Ordered](x S, target E) (int, bool)这个函数里面定义了S E泛型约束  [S ~[]E, E cmp.Ordered]  这个的意思就是 参数S 的底层类型必须是切片E, 同时 E类型必须是已排序的切片。 分解 S ~[]E 约束S类型的底层类型必须是E的切片 E cmp.Ordered  这个约束E的类型必须是已排序的类型 这里的emp.Ordered是一个专门用来做参数类型约束的接口定义。 E cmp.Ordered接口定义如下 type Ordered interface {~int | ~int8 | ~int16 | ~int32 | ~int64 |~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |~float32 | ~float64 |~string } 可见这个 cmp.Ordered 接口定义了他所能接收的参数类型列表只要泛型约束里面使用了他 那你的参数的类型就只能是这个里面定义的类型之一。 再来一个 func SortFunc[S ~[]E, E any](x S, cmp func(a, b E) int) 这个函数的泛型约束[S ~[]E, E any]里面 有一个 any  , 这个在go语言里面表示任意类型 他是一个类型定义即 type any interface{}  ,  其他和上一个的泛型约束类似。 另外一个需要说的就是 comparable 这个泛型约束 这个也是一个类型定义即 type comparable interface{ comparable }    comparable这个泛型约束是go语言的底层定义的一个约束接口他约束数据类型必须是这些类型之一 booleans, numbers, strings, pointers, channels,  可比较类型的数组所有字段是可比较类型的结构体 函数原型 func Index[S ~[]E, E comparable](s S, v E) int 示例代码 package mainimport (fmtslices )func main() {numbers : []int{0, 42, 8}fmt.Println(slices.Index(numbers, 8))fmt.Println(slices.Index(numbers, 7)) }参考 slices package - slices - Go Packages
http://www.hkea.cn/news/14270778/

相关文章:

  • 找人一起做素材网站wordpress怎么发布文章
  • 怎么做自已的网站自助建站系统哪个最好用
  • 毕业设计 旅游网站建设如何看网站的ftp
  • 网站推广经理招聘高端网站建设如何收费
  • 网站建设及域名企业用的邮箱是什么邮箱
  • 湛江建网站seo网站培训班
  • c 网站开发技术程序员 做网站 微信公众号 赚钱
  • 成都企业网站备案流程做医院网站及微信公众号价格
  • 广州专业做网站的公司舟山网站建设公司
  • 下拉框代码自做生成网站怎样打死网站
  • 新邱建设网站平面设计发展前景
  • 营口规划建设局网站深圳的seo网站排名优化
  • 网络编辑的网站建设题php网站做分享到朋友圈
  • 网站版权文字贸易公司网站模板
  • 高端网站开发环境wordpress插件如何破解版
  • 传播网站建设网站没有做伪静态是什么样子
  • 广州网站建设支付分类网站有哪些
  • 东台做网站的公司沈阳企业关键词优化
  • 在家做兼职哪个网站小程序商店官网
  • 什么是企业网站网站seo 工具
  • 陕西做天然气公司网站售后软件网站开发
  • 优速网站建设优化seowordpress 前端注册
  • 北京pk10盘制作网站建设做个网站需要多少钱
  • 泉州制作网站软件百度小说排行榜第一名
  • 宁波网站建设公司名单推荐代理加盟做什么好
  • 网站上常用字体网站建设工作小组推进表
  • 义乌网站建设优化案例winxp下做网站
  • 潍坊做网站联系方式怎么自己公司名下的网站
  • 百度网站建设多少钱在线建站网站
  • 银川制作网站discuz论坛应用中心