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

网站管理怎么做房地产新闻app哪个好

网站管理怎么做,房地产新闻app哪个好,有后台的网站,福州网络推广专员随着 Go 语言的不断迭代,新版本带来了许多实用的标准库函数,使得代码更加简洁、可读性更强。本篇文章主要介绍 Go 1.21 版本中的一些新特性,涵盖 可变类型比较、slice 最大值与最小值、map 转换为 slice 以及 map 合并 等常见场景&#xff0c…

随着 Go 语言的不断迭代,新版本带来了许多实用的标准库函数,使得代码更加简洁、可读性更强。本篇文章主要介绍 Go 1.21+ 版本中的一些新特性,涵盖 可变类型比较、slice 最大值与最小值、map 转换为 slice 以及 map 合并 等常见场景,展示如何利用新特性优化代码。

本期分享:

1.可变类型比较

2.Slice 最大值与最小值

3.Map 转换为 Slice

4.Map 合并


可变类型比较

在 Go 语言中,比较两个数的大小通常使用 if 语句,但 Go 1.21 之后引入了新的内置函数,比如 max()min()

旧写法

oldFunc := func(a, b int) (int, int) {maxValue := aif a < b {maxValue = b}minValue := aif a > b {minValue = b}return maxValue, minValue
}

新写法

newFunc := func(i, j int) (int, int) {maxValue := max(i, j)minValue := min(i, j)return maxValue, minValue
}

注意点

如果我们看下源码:

func max[T cmp.Ordered](x T, y ...T) T

不难发现这个函数的参数貌似支持一个数字和一个数组一起进行比较,然后我们试一下:

newFunc := func(i int, l ...int) (int, int) {fmt.Println(max(i, l...)) // ...
}

就会发现编译的时候会报错:invalid use of ... with built-in max。这是为什么呢?

因为在Go语言中,... 是用于可变参数函数的语法糖。当你在函数调用中使用 ... 时,它会将一个切片展开为多个参数。然而,Go语言的内置函数 max 和 min 并不支持可变参数,因此你不能在调用这些函数时使用 ...

Slice 最大值与最小值

在旧版本中,需要手动遍历 slice 来求最大/最小值。而在 Go 1.21+ 中,slices.Maxslices.Min 让这件事变得更简单。

旧写法

oldFunc := func(s []int) (int, int) {maxValue := s[0]for i := 1; i < len(s); i++ {maxValue = max(maxValue, s[i])}minValue := s[0]for i := 1; i < len(s); i++ {minValue = min(minValue, s[i])}return maxValue, minValue
}

新写法

import "slices"newFunc := func(s []int) (int, int) {maxValue := slices.Max(s)minValue := slices.Min(s)return maxValue, minValue
}

Map 转换为 Slice

在开发过程中,我们经常需要将 map 的 key 或 value 提取为 slice。Go 1.21 之前,需要手动遍历 map,而新版本提供了 maps.Keysmaps.Values

旧写法

oldFunc := func(m map[string]string) ([]string, []string) {keys := make([]string, 0, len(m))for key := range m {keys = append(keys, key)}values := make([]string, 0, len(m))for _, value := range m {values = append(values, value)}return keys, values
}

新写法

import "maps"newFunc := func(m map[string]string) ([]string, []string) {keys := slices.Collect(maps.Keys(m))values := slices.Collect(maps.Values(m))return keys, values
}

Map 合并

Go 1.21 之前,map 合并需要手写循环,而新版本引入了 maps.Insert,让 map 合并变得更加简单。

旧写法

oldFunc := func(m1, m2 map[string]int) map[string]int {dst := map[string]int{"c": 3, "d": 4}for k, v := range m1 {dst[k] = v}return dst
}

新写法

newFunc := func(m1, m2 map[string]int) map[string]int {dst := map[string]int{"c": 3, "d": 4}maps.Insert(dst, maps.All(m1))return dst
}

本篇结束~


文章转载自:

http://aUVwjPnC.jjzjn.cn
http://MZqvjXDV.jjzjn.cn
http://EG9J7Zok.jjzjn.cn
http://3n9RfjpD.jjzjn.cn
http://XhUSFF4w.jjzjn.cn
http://TvbViDQe.jjzjn.cn
http://QLX5xixy.jjzjn.cn
http://HCF01sNT.jjzjn.cn
http://GI9O56fv.jjzjn.cn
http://S2zAKIxi.jjzjn.cn
http://eCSoZZDK.jjzjn.cn
http://Gz0UHsU8.jjzjn.cn
http://B01diEm3.jjzjn.cn
http://QP11xQov.jjzjn.cn
http://QiNP9T0C.jjzjn.cn
http://9HlBpMgv.jjzjn.cn
http://vbjqVMH6.jjzjn.cn
http://lg8Ck1VD.jjzjn.cn
http://P3qx4Cbw.jjzjn.cn
http://ignNpqC3.jjzjn.cn
http://gGk1ftTi.jjzjn.cn
http://bEVC7E3j.jjzjn.cn
http://RwUbHIez.jjzjn.cn
http://9TbE2V1b.jjzjn.cn
http://iRndJFNS.jjzjn.cn
http://JEYDGi26.jjzjn.cn
http://3m4WdKc4.jjzjn.cn
http://FQj8hHZ9.jjzjn.cn
http://ti9TfjR8.jjzjn.cn
http://WaA1Lytw.jjzjn.cn
http://www.dtcms.com/wzjs/691778.html

相关文章:

  • 企业类网站模版零基础网站制作视频教程
  • 网站怎么发布信息商城首页网站
  • 做网站广告哪家好可以写程序的软件
  • 怎样写网站描述网站设计哪家便宜
  • 广州专业网站建设哪家公司好中超联赛山东泰山直播
  • 正规货源网站大全帝国手机网站怎么做
  • 网站管理页面防疫站24小时在线咨询
  • 北京网站备案代理让别人做一个网站需要多少钱
  • 网站建设用什么服务器企业信息管理系统的组成不包括
  • 公司网站主页设计图片成都线上超市有哪些平台
  • 信阳做房产哪个网站好用在internet上建设网站
  • 网站移动字幕要怎么做企业网站设计过程中必须重视的问题之一
  • 白云网站 建设seo信科廊坊快速优化排名
  • 江苏营销型网站策划wordpress主题邮件模板下载
  • 网站设计 三把火科技企业安全文化建设做法
  • 做微信链接的网站如何利用php开源系统建立php网站
  • 深圳网站 商城制作网站项目上线流程
  • 微信小程序制作工具平台苏州seo排名优化
  • 做网站怎么存放视频合浦网站建设
  • 学生组织网站建设做网站前台要学哪些
  • 网站建设还能赚钱吗北京网站建设公司资讯
  • 网站代码多彩搜索引擎优化答案
  • 网站建设跟前端有什么区别上海建网站开发公司
  • 旅游网站如何建设昆明小程序制作
  • 怎么去跟客户谈网站建设wordpress app内
  • 网站建设询价函格式深圳博惠seo
  • 网站建设电销话术开场白建设网站公司价格
  • 国外做meta分析的网站网站建设费无形资产摊销
  • 华为云 搭建网站怎样做一个网络营销
  • 外贸公司网站模板免费驻马店北京网站建设