Golang-Method

GitLab:https://gitlab.com/whitefloor40567/golangnote

在发Interface里其实应该先说Method的用法的
这样才会比较好理解Interface该如何使用

Extra Problem

另外Method Package里没有再区分资料夹
如果用

go run main.go

就会出现

./main.go:4:10: undefined: PersonalData

关于此问题可以参照下列讨论,就可以知道为什么了XD
https://stackoverflow.com/questions/21293000/go-build-works-fine-but-go-run-fails

https://stackoverflow.com/questions/23695448/how-to-run-all-go-files-within-current-directory-through-the-command-line-mult

建议使用的run command

go run .

Method

详细的main参数请参照GitLab

package mainimport "log"// PersonalData ...type PersonalData struct {Name stringAge  int}//method 宣告// (struct).func(){}//如果方法里的struct没有用point,将只能读取struct里的数值,而不能做修改//且如果struct里变数众多,用point将可以增加程式效率//所以建议用method时的统一写法都用point传入//也可以进一步统一程式码风格,增加维护的方便性// ChangeDataFirst ... no pointfunc (p PersonalData) ChangeDataFirst(name string, age int) {log.Println("---Start ChangeDataFirst---")p.Name = namep.Age = age}// ChangeDataSecond ... Use pointfunc (p *PersonalData) ChangeDataSecond(name string, age int) {log.Println("---Start ChangeDataSecond---")p.Name = namep.Age = age}// PrintData ...func (p PersonalData) PrintData() {log.Println("---PrintData---")log.Println(p.Name)log.Println(p.Age)}

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章