go笔记(go中的方法调用)

Wesley13
• 阅读 769

最近接触go语言  发现和java的方法调用有些类似但又有自己的注意点

go的包我理解为则是隔离的最小模块

先在src目录下创建main.go文件  package为main,然后在src下创建module1目录 ,在module1目录下创建两个文件packageStrut.go,packageStrut2.go    package均为module1

创建后如下

go笔记(go中的方法调用)

1.同一个module下方法和声明不能重复

  例如packageStrut.go中声明如下方法与结构

package module1

import "time"

type People struct {
    UserName string
    PassWord string
}
func NowTime() time.Time  {
    return time.Now()
}

  然后在packageStrut2.go中重复声明会直接报错

go笔记(go中的方法调用)

2.同一个包下面方法和声明调用可以直接通过方法名

  例如修改packageStrut2.go的方法直接调用packageStrut中NowTime方法,将上面的冲突packageStrut2中冲突的People修改为Person后冲突消失,新建的Person实例

go笔记(go中的方法调用)

3.调用不同的包下的方法和声明只能调用方法名首字母大写的方法

  例如先将packageStrut2中的GetNanoTime()方法首字母改为小写,然后在main.go中分别调用packageStrut的NowTime()方法和packageStrut2修改后的getNanoTime()方法 ,前者会成功,后者则会编译报错

 go笔记(go中的方法调用)

   类也是一致,如果将packageStrut2中的Person改为person  ,则这个person只对同包下是可见的,编译也会报错

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
Go 包的原理和使用
Go包的原理和使用包的引出在实际的开发中,我们往往需要在不同的文件中,去调用其它文件的定义的函数,比如main.go中,去使用utils.go文件中的函数,如何实现?包现在有两个程序员共同开发一个Go项目。程序员xiaoming希望定义函数Cal
Wesley13 Wesley13
3年前
解决webpack因新版本打包失败问题
最近在学习webpack打包过程中遇到的一个问题向大家分享下!创建了一个webpacksty的目录,目录下放着dist,src子目录,然后通过node环境下,npminity初始化项目出现package.json文件,src子目录下又存放着index.html和main.js文件,接下来尝试着在main.js输入一句代码当验证打包后续是否成功的过
Stella981 Stella981
3年前
Redis Cluster in Ubuntu
1\.首先,进到Redisserver 的位置,确认Redisserver 可以正常启动!(https://oscimg.oschina.net/oscnet/fb11911e35266a35f5b62dcbf9b02288c97.png)2. 在 redis5.0.3 目录下创建文件夹redisCluster\_Demo\_byMe
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
35岁是技术人的天花板吗?
35岁是技术人的天花板吗?我非常不认同“35岁现象”,人类没有那么脆弱,人类的智力不会说是35岁之后就停止发展,更不是说35岁之后就没有机会了。马云35岁还在教书,任正非35岁还在工厂上班。为什么技术人员到35岁就应该退役了呢?所以35岁根本就不是一个问题,我今年已经37岁了,我发现我才刚刚找到自己的节奏,刚刚上路。