golang 导出变量、函数 首字母必须大写
标识符可被 导出 以允许从另一个包访问。
同时符合以下条件即为已导出标识
1、标识符名的第一个字符为Unicode大写字母(Unicode类别“Lu”);
2、该标识符在包块中已声明或为字段名或方法名。
以程序导入gotest/even包为例
package main import ( "even" "fmt"
) func main() { i:=even.I fmt.Printf("Is %d even? %v\n", i, even.Even(i))
}
package even var I int = 123 func Even(i int) bool { return i%2==0
} func odd(i int) bool { return i%2!=0
}
1.本地包 even 在这里导入;
2. 官方 fmt 包导入;
3.调用 even 包中的函数。访问一个包中的函数的语法是 <package>.Function(),变量 <package>.Var。
在 Go 中,当变量或函数的首字母大写的时候,函数会被从包中导出(在包外部可见,或者说公有的),因此函数名是 Even。如果修改main.go 的第 10 行,使用未导出的函数 even.odd:
fmt.Printf("Is %d even? %v\n", i, even.odd(i))
由于使用了私有的函数,会得到一个编译错误:
main.Go:10: cannot refer to unexported name even.odd
概括来说:
公有函数的名字以大写字母开头;
私有函数的名字以小写字母开头。
golang 导出变量、函数 首字母必须大写相关推荐
- php 英文小写变大写,PHP_PHP英文字母大小写转换函数小结,每个单词的首字母转换为大写 - phpStudy...
PHP英文字母大小写转换函数小结 每个单词的首字母转换为大写:ucwords() $foo = 'hello world!'; $foo = ucwords($foo); // ...
- python里使用capwords()函数来把字符里每一个英语单词首字母变大写
如果不使用这个函数,需要把字符串使用split()函数进行分割成列表,最后依次对每个单词的首字母变成大写,再使用join()函数来组合出来. 使用这个函数就更简单: import strings = ...
- python将变量a全部变成大写字母_每天一个Python知识点:只用一招就将所有的英文单词首字母变成大写...
摘要: 将英文单词首字母变成大写是一个古老的话题,很常用,也很简单.不过如何用更简单的方式批量完成这个工作,则有很多学问,不想来看看吗! 将英文单词首字母变成大写是非常常用的文本操作,使用capita ...
- python中将字符变为大写_Python实现将字符串的首字母变为大写,其余都变为小写的方法...
Python实现将字符串的首字母变为大写,其余都变为小写的方法 利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. 思路:使用capitalize()函数将字符串的 ...
- 使用Python,将字符串的首字母变为大写,其余都变为小写
利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. 思路:使用capitalize()函数将字符串的首字母转为大写,其余变为小写 L1 = ['AdmIn','an ...
- HDU2026 首字母变大写【文本处理】
首字母变大写 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- HDU2026 首字母变大写【入门】
首字母变大写 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- C语言程序——首字母变大写
[问题描述]首字母变大写:输入一个英文句子,将每个单词的第一个字母改成大写字母. [输入形式]一个长度不超过100的英文句子 [输出形式]按照要求改写后的英文句子,每个单词的首字母大写 [样例输入]i ...
- 从键盘输入一个人的姓和名,然后将姓和名的首字母变成大写字母
#include<stdio.h> #include<ctype.h> #define N 100 int main() {char name[N];int i;printf( ...
最新文章
- 网易云课堂 学习教程
- 爬虫的配置、启动和终止
- kotlin学习笔记——lambda表达式
- 对TypeScript进行研究
- jdk中java_怎样使用JavaJDK中Java?
- android java 调用js_Android Java/JS互相调用
- git fetch pull
- java数据同步处理_[java数据库同步解决方案]系统间通讯实现数据信息实时同步解决方案...
- java生日正则表达式_Java语言十五讲
- React 一些相关的技巧
- 【图论】【poj 3020】Antenna Placement
- 安卓手机管理软件_电话录音管理软件有哪些?
- itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 敏捷测试管理软件
- BZOJ.3097 Hash Killer 1(卡掉自然溢出法)
- 360与QQ大战,谁之过?
- 工具党如何干掉某讯手游的反修改器功能
- 【安全算法之概述】一文带你简要了解常见常用的安全算法(RT-Thread技术论坛优秀文章)
- 【DB笔试面试696】在Oracle中,什么OSWatcher工具?
- #让我们用python跑回归#Fama-French三因素模型(一)
- mysql版本的选择