Go接口断言 空接口interface{}没有定义任何函数,因此Golang中所有类型都实现了空接口。当一个函数的形参interface{},那么在函数中,需要对形参进行断言,从而得到它的真实类型。 在学习接口断言之前,先了解一下类型断言,其实接口断言也是在判断类型。 类型断言 类型断言可以检查i是否为nil或者为某个类型,通常有两中方式 第一种: 1t := i.(T) 这个表达式可以断言一个接口对象i里不是 2024-03-15 开发 #Go
Go接口 什么是接口 在goland中,接口是一组方法签名。接口把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。它与OOP(面向对象编程)非常相似。 接口可以让我们将不同的类型绑定到一组公共的方法上,从而实现多态和灵活的设计。 Go语言中的接口是隐式实现的,也就是说,如果一个类型实现了一个接口定义的所有方法,那么它就自动地实现了该接口。因此,我们可以通过将接口作为参数来实 2024-03-14 开发 #Go
Git使用教程 什么是Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git中的基本概念 我们先来理解下Git工作区、暂存区和版本库概念: 工作区: 就是你在电脑里能看到的目录。 暂存区: 英文叫stage或index。一般存放在.git目录下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 版本库: 工作区有一个隐藏目录**.gi 2024-03-13 开发 #Git
并查集 什么是并查集 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。 并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个集合,我们只要找到了某个元素的的树根,就能确定它在哪个集合里。 并查集支持两种操作: 合并(Union):把两个不相交的集合合并为一个集合。 查询(Find):查询两个元素是否在同一个集合中。 适用条件 并查集用在一些有nnn个元素 2024-03-11 算法 #算法
mutsumi的排列连通 链接:https://ac.nowcoder.com/acm/contest/67745/M 题目描述 mutsumi有两个排列,放置在一个2×n2×n2×n的矩形中,每次你可以选择一个数字 xxx,将两个排列内的xxx所在的单元格删除。 mutsumi想删除尽可能少的数字,使得矩形至少被分成两个连通块(不一定是矩形),请输出最小的删除次数。若无法通过删除使得矩形被分成至少两个连通块,则输出 - 2024-03-08 算法 #题解
漂亮数组 链接:https://ac.nowcoder.com/acm/contest/67744/E 题目描述 阿宁认为一个数组是漂亮数组,该数组需要存在一个总和是kkk的倍数的子数组。 现在阿宁有一个长度为nnn的数组aaa,阿宁想要将数组aaa分割出若干个数组,分割出的数组需要满足,按照分割顺序合并可以得到原数组aaa。 阿宁想知道将数组aaa分割,最多可以获得多少个漂亮数组? 输入描述: 第一行输 2024-02-20 算法 #题解
大小写转换 在算法竞赛中,我们经常会遇到英文字母大小写转换的问题,下面我们就来具体介绍一下如何解决这个问题。 1.利用ASCII码转换 在python中有直接查看ASCII码的函数ord(),和将ASCII转化位字符的函数chr(),而我们知道大写字母和小写字母的ASCII码的数值相差32。因此我们可以利用这一点完成转化。 123#小写转大写a=input("输入小写字母:")print( 2024-02-13 算法 #算法
时间复杂度与对拍 时间复杂度 我们把加,减,乘,除,访问变量,这样的基本操作定义为一次基本操作不同计算机由于硬件的差距,每秒钟可以运行的基本操作的次数是不一样的,一般来说,计算机一秒钟运行次数在3×1083×10^83×108此左右。 接触过算法的都知道,算法的时间复杂度是用大写的“O”来表示的,比如:O(1)O(1)O(1),O(n)O(n)O(n),O(logn)O(logn)O(logn),O(nlogn)O 2024-02-09 算法 #算法
T422522 k耦合 题目描述 若两个数x,yx,yx,y,他们在二进制形式下有kkk位是不同的,我们称这两个数字是kkk耦合的。 例如二进制100110011001和011001100110是满足444耦合的,他们有444位不同 现在给出一个非负整数序列a1,a2,.....,ana_1,a_2,.....,a_na1,a2,.....,an,你需要求存在多少对(i,j),i<j(i,j),i<j( 2024-02-04 算法 #题解
Go语言教程 1.Go语言的出现 Go语言最初由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三个大牛于2007年开始设计发明,他们最终的目标是设计一种适应网络和多核时代的C语言。但是Go语言更是对C语言最彻底的一次扬弃,它舍弃了C语言中灵活但是危险的指针运算,还重新设计了C语言中部分不太合理运算符的优先级,并在很多细微的地方都做了必要的打磨和改变。 2.第一个G 2024-01-29 开发 #Go