编程技术是改变世界的力量。
本站
当前位置:网站首页 > 后端语言 > 正文

【编码规范】集合篇(重重点)——集合处理篇

gowuye 2024-04-04 11:55 12 浏览 0 评论

编码规范-集合篇(重重点)。

一张讲了面相对象的归约以及日期的归约,今天来看一下集合处理方面的一些归约,这部分也很重要,因为如果不太清楚很容易写一个线上隐藏的 bug,注意是隐藏的 bug,而且还不太去找到问题所在的地方。接下来挨个看一下。

·第一个就是关于hyscode跟ecos就说重写hyscode,然后重写ecose必须要重写hyscode,为什么?因为对象在平时的开发应用中大部分会被放在需要驱虫判断的集合里边,比如site或者map,他们判断的依据就是依赖还是扣的跟依扣子,如果不重写判断驱虫就会有问题,这样就会导致线上也会出现问题。

如果严格意义上来较真,如果对象永远可以保证不可能放在驱虫集合里边或者永远不会调用还是扣的,其实不用重写了,但为了避免出现问题还是尽量重写比较好。

·第二个就是判断内部集合是否为空使用asapt方法,而不是size等于零,因为确实是有点low,或者可以使用connections或者connects youtube is appt,其实现在有很多公共的判空方法,不要用这种,因为还见过有人这么写,就是判断对象等是不是等于no,然后是不是set等于零,大家不要这么用就好了。

·第三个就是使用stream的to map,将list转成map方法的时候一定要使用模式放方法,否则就是出现相同的care会抛异常,可能很多人不太好理解,举个例子看一下,这块写了这么一个list,它的元素一二一有重复的元素,这块将它转成麦谱,然后key就是对应的元素,value也是对应的元素,跑一下看看,看到没有?下面就是对应的异常重复的k。

刚才那个方法说是使用哪个方法?看一下,使用的就是这个方法k1、k2,如果有相同的k随便选一个,一般用k1,要去使用这个方法去进行驱虫,这样就不会跑异常了。

·第四个就是继续往后看,a realistsublist就使用它去截取数组以后,截取完以后不能把它再转成realister了,因为返回的类型并不是realised,转会跑异常。

·第五个就是使用map、k、set、y6、nt set时候也不能对它进行添加元素操作,因为一样返回的集合类型没有实现对应的这些方法,所以调用这些方法的时候直接就会跑异常的不支持的操作。

·第六个就是connections empty single list的时候,一样的就是调这个方法,调返回对应的空方法的时候一样不能对元素进行ad或锐目,不然也会跑一场。

·第八个,使用集合转数组。一般用这个方法进行集合转数组传的类型就是完全一样的,并且是长度为空的数组。看一下这块举了个例子,就是这么去写就会刚刚好。如果什么都不写,返回的类型就是project,而且再去进行类型转换会直接出问题的。

而且最好看下面还有size大小,默认都是给个零,性能是最好的,其他的会有各种问题。

·第九个,使用river as these,把数组转换成集合的时候一样不能掉ad或锐目克里尔方法,因为一样就是返回的对应的集合没有实现,这几个方法掉直接就抛异常了。

·第十个,这个大家应该也都知道,在增强否循环里边不要进行ad或锐目操作,不然会直接抛异常的。如果要使用remove就用叠带器,用叠带器并发还要加速。

这就是今天要讲的这么几个小点,我觉得还是比较重要的。

相关推荐

爱上开源之golang入门至实战第四章-切片(Slice)

前言Go数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可...

Go语言入门必知教程-切片

切片是一种灵活的和可扩展的数据结构,用于实现和管理数据集。切片由多个元素组成,所有元素都是相同类型的。切片是动态数组的一部分,可以根据需要进行增长和收缩。与数组一样,切片也可以索引。切片具有容量和长度...

Go语言基础-切片

切片是什么?切片是Go语言的一种数据结构。和数组相似,不过切片可以在它的结尾增加更多的元素。这样可变长度在实际编程中更为有用。声明切片切片的声明和数组也很相似,只是声明切片时不需要指定大小。例:va...

5分钟掌握GO中切片的基本使用方法

最近Golang越来越火,不少小伙伴都纷纷开始学习Golang,但对于原先为C++或者JAVA的同学,用习惯了数据、list、vector等,会对Go的切片slice不习惯,下面整理出go中slice...

揭秘 Go 切片(Slice)的秘密

当向切片添加新参数时,底层数组会发生什么变化?它会扩展以容纳更多元素吗?在这篇文章中,我们将深入探讨切片的内部工作原理,以及如何利用这些知识来进行更好的内存管理和性能优化。具体而言,我们将探索Go...

【Go语言slice详解】深入掌握Go语言中的slice类型及常用操作!

Go语言中的slice(切片)是一种非常方便的数据结构,可以动态地增加或减少其元素数量,且可以访问底层数组的任意一个子序列。本文将对Go语言中的slice进行详细的讲解。Slice的定义在Go语言中,...

掌握GO中的Slice,这就够了

最近Golang越来越火,不少小伙伴都纷纷开始学习Golang,但对于原先为C++或者JAVA的同学,用习惯了数据、list、vector等,会对Go的切片slice不习惯,下面整理出go中slice...

golang2021面向对象(26)Go语言类型内嵌和结构体内嵌

结构体可以包含一个或多个匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型也就是字段的名字。匿名字段本身可以是一个结构体类型,即结构体可以包含内嵌结构体。?可以粗略地将这个...

2022-11-13:以下go语言代码中,如何获取结构体列表以及结构体内

2022-11-13:以下go语言代码中,如何获取结构体列表以及结构体内的指针方法列表?以下代码应该返回{"S1":["M1","M2"],"S...

Go语言文件和目录操作

文件和目录操作概述一、文件和目录操作概述在计算机中,文件和目录是存储数据的重要方式。在Go语言中,我们可以使用os和io/ioutil包提供的函数和结构体来进行文件和目录操作。本文将详细介绍Go语言中...

跟我一起学习go语言(五)golang中结构体的初始化方法

1、自定义一个结构体typeVertexstruct{X,Yfloat64}2、初始化方法-指针:rect1:=new(Vertex)rect2:=&Vertex...

Go复合数据类型:结构体

一种通用的、对实体对象进行聚合抽象的能力,在Go中,提供这种聚合抽象能力的类型是结构体类型,也就是struct。自定义一个新类型在Go中,我们自定义一个新类型一般有两种方法。第一种是类型定义...

Go语言基础:方法

导读在阅读本文章前,假定你具备如下能力:?已掌握结构体1.方法1.1方法的概念在理解程序中方法的概念时,我们先看看现实中的一些情况,这样相对比较好理解一些。在农村的朋友可能会知道,在医疗落后的情况...

为什么 Go 语言 struct 要使用 tags

在Go语言中,struct是一种常见的数据类型,它可以用来表示复杂的数据结构。在struct中,我们可以定义多个字段,每个字段可以有不同的类型和名称。除了这些基本信息之外,Go还提供了s...

一文带你掌握掌握 Golang结构体与方法

1.Golang结构体的概念及定义结构体是Golang中一种复合类型,它是由一组具有相同或不同类型的数据字段组成的数据结构。结构体是一种用户自定义类型,它可以被用来封装多个字段,从而实现数据的...

取消回复欢迎 发表评论: