c语言sscanf函数的用法是什么
261
2022-08-23
golang方法的使用细节:参数默认是值拷贝,不仅仅是struct自定义数据类型也可以绑定方法、方法名称首字母大写为public权限、String()方法的使用
(1)结构体类型是值类型,在方法调用中,遵守值类型的传递机制,是值拷贝传递方式
(2)如程序员希望在方法中,改变结构体变量的值,可以通过结构体指针的方式来处理
我们写程序的时候,可以直接简化:
底层编译器做了优化,底层会自动帮我们加上& *
(3)Golang中的方法作用在指定的数据类型上的,和指定的数据类型绑定,因此自定义类型,都可以有方法,而不仅仅是struct,比如int , float32等都可以有方法
package mainimport "fmt"type integer intfunc (i integer) print(){ i = 30 fmt.Println("i = ",i)}func (i *integer) change(){ *i = 30 fmt.Println("i = ",*i)}func main(){ var i integer = 20 i.print() i.change() fmt.Println(i)}
(4)方法的访问范围控制的规则,和函数一样。方法名首字母小写,只能在本包访问,方法首字母大写,可以在本包和其它包访问。
(5)如果一个类型实现了String()这个方法,那么fmt.Println默认会调用这个变量的String()进行输出
这个String()方法相当于java中的toString()方式
以后定义结构体的话,常定义String()作为输出结构体信息的方法,在fmt.Println会自动调用
package mainimport "fmt"type Student struct{ Name string Age int}func (s *Student) String() string{ str := fmt.Sprintf("Name = %v , Age = %v",s.Name,s.Age) return str}func main(){ stu := Student{ Name : "丽丽", Age : 20, } //传入地址,如果绑定了String方法就会自动调用 fmt.Println(&stu)}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~