【golang学习---杂记】

本文记录了初学者在学习Golang时遇到的问题,涉及切片的理解、包的组织方式、函数和方法的区别,以及函数作为参数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

golang学习—杂记

刚开始学习golang,在这里记录一下遇到的问题
1.关于slice
之前我是学习java,golang和java区别还是蛮大的,例如切片,切片在我理解就是一个不需要定容量的arrary,slice与arrary的定义方式在golang里也是蛮像的,我将slice理解为java中的list,这样就好理解的多了,slice有两个重要属性:len(长度)、cap(容量),通过这两个可以获取到切片的当前长度和最大容量,给slice增加值,通过append即可
定义一个切片:

slic:=make([]type,0)

2.main包下的方法调用问题
测试服务端的代码,前人写了小demo.我最近整理,
发现,基本上所有的代码都放在了main包里,我觉得这样不好管理,我想要把测试用例放另一个包中,main里放一些公共方法,发现根本无法引用main包中定义的方法,研究后才知道,main包可以调用其他包中的方法,但是其他包不能回调main包
因为golang不能循环调用
3.函数和方法不同
golang中的函数和方法是不同的东西,这貌似在java中没有什么明显区分
函数:

	func test(){
		pass
	}

方法:“在func后面为接受者的是方法”,我是这样理解的,一个结构体包含很多属性,属性可以是变量,其他结构体,也可以是方法,类似于java中的get set方法,结构体中的变量对于方法可以不用传参即可使用,因为他们同属于一个结构体

	func(t *stuct) test(){
		t.name = "marry"
		fmt.Printf(t.name)
	}

4.函数可以作为参数
在golang中函数也是一种类型的,可以看成是某类型的参数,在方法传参时,可以将函数作为参数传过去,函数对参数的处理,会通过回调得到参数值,这一点挺新奇的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值