在GO语言的任意包内,如果名称的首字母是大写的,意味着这个名称被导出,在其它包中可以使用“包名.名称”方式来调用,如果名称首字母不是大写,那么只能在这个包内部使用!这个概念还真是和以往接触的编程语言的包和单元都不一样!!

官方教程:https://tour.go-zh.org/basics/3

实例代码:

main.go : 引入了“sunylat/demo”包,调用ShowExport() 演示调用包导出名称。

package main

import(
"sunylat/demo"
) func main() { //演示首字母大写导出功能
demo.ShowExport()
}

demo/export.go : 调用mydata包MyFunc()

/*
演示首字母大写的名称才能被导出
*/
package demo import (
"sunylat/mydata"
) //演示调用其它包中首字母大写的名称
func ShowExport() {
/*
这里是快速声明,注意使用符号,可不是“=”
*/
inputStr := "这是测试代码," /*
对于多个变量声明,这种方式应该是更简洁些,类似Delphi里面对变量的集体声明一样,
不过Go语言声明变量位置更随意,可以在任意地方声明
*/
var (
inputStr2 string
input string
) //这是我们在其它语言中常见的变量声明
//var inputStr2 string
inputStr2 = "在这里只能调用mydata的MyFunc函数,因为它的首字母大写了!" //连接两个字符串
//var input string
input = inputStr + inputStr2 //调用mydata包中的MyFunc函数
mydata.MyFunc(input)
}

mydata/export.go : 在mydata包中建立的文件,这里只有MyFunc() 可以被其它包中代码调用,test() 则只能在这个包中被调用,MyFunc() 就是调用了 test() 。

/*
首字母大写的名称才能被导出
*/
package mydata import "fmt" //首字母大写,表示我要导出这个函数,在包外面的代码可以使用“mydata.MyFunc()”来调用
func MyFunc(inputStr string){
test(inputStr)
} //首字母小写,表示这个方法只能在这个包内使用,这个包内的其它代码可以调用它,包外面代码不能调用
func test(inputStr string){
fmt.Println(inputStr+"\n")
}

运行结果截图:

  

  

GO学习笔记 - 包内首字母大写的名称是被导出的,才能被其它包代码调用!的更多相关文章

  1. 【Python实践-6】将不规范的英文名字,变为首字母大写,其他小写的规范名字

    #利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. def f1(s): s=s.capitalize() return s list1= ['adam', 'L ...

  2. java中pojo对象首字母大写导致无法赋值问题

    命名规范(文末附有java命名规范)中指出,属性变量命名应采用驼峰命名的方式,即首字母小写,其他单词首字母大写: 但有时候我们对接三方的接口时,想要封装实体类来接受,但是发现接收到的参数的变量首字母是 ...

  3. Python实现将不规范的英文名字首字母大写

    Python实现将不规范的英文名字首字母大写 这篇文章给大家主要介绍的是利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.文中给出了三种解决方法,大家可以根据需要选 ...

  4. CSS中使用text-transform实现首字母大写

    CSS中首字母大写怎么实现?日常生活中需求方对英文的要求比较多,有的时候需要让英文单词或拼音首个字母大写;有的时候需要让全文中英文单词全大写或小写.这时候我们就需要text-transform属性了. ...

  5. javascript面试题:如何把一句英文每个单词首字母大写?

    上周看到大家在JS群讨论如何把一句英文句子单词收割字母大写,大家都说用正则简单,对于正则还是有点模糊,于是乎自己敲了下 //面试题:如何把一句英文每个单词首字母大写? var str="wh ...

  6. text-transform设置单词首字母大写

    text-transform 一.语法   text-transform 主要用于设置文本的大小写. text-transform有5个值,分别如下: none. 默认值. capitalize. 文 ...

  7. string.capwords() 将每个单词首字母大写

    string.capwords() 将每个单词首字母大写 代码: import string s = ' The quick brown fox jumped over the lazy dog. ' ...

  8. JS replace()方法-字符串首字母大写

    replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. replace()方法有两个参数,第一个参数是正则表达式,正则表达式如果带全局标志/g,则是代表替换 ...

  9. java string,需要进行首字母大写改写

    java string,需要进行首字母大写改写,网上大家的思路基本一致,就是将首字母截取,转化成大写然后再串上后面的,类似如下代码 //首字母大写     public static String c ...

随机推荐

  1. delphi Firemonkey ListView 使用参考

    delphi Firemonkey ListView 使用参考 Tokyo版本 http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Customizin ...

  2. CB XE7 C11 64位编译器 成员变量初始化

    看到了C++11,看到了XE7的64位,想实现下面方便的类成员初始化,失望. 一.64位用法 clang3,64位编译器,不支持中文变量名,编写代码提示没有32位快,风格简单不用写单独的赋值语句函数, ...

  3. centos 安装hue 4.0

    Hue是Cloudera开源的一个Hadoop UI,由Cloudera Desktop演化而来.面向用户提供方便的UI用于平时的Hadoop操作中.Apache Ambari面向的是管理员,用于安装 ...

  4. fbx模型动画提取教程附带一个用代码提取的方法

    角色已经人形化(Humanoid)了,那它的动画可以用在其它的模型上了也就是可以共用一套模型动画了但是你有没有发现那动画是和fbx模型绑在一起的,没关系你可以选中这几个动画文件按Contrl+D就可以 ...

  5. Git学习笔记——从一台电脑上传文件到Github上

    目标:从一台电脑上传文件到Github上 前提: 1.这里假定已在Github上创建了仓库,建立了仓库 2.已在这台电脑上安装了Git客户端 实验环境: 1.Windows 10 64位,已安装了Gi ...

  6. Halcon选择一堆region中面积第N大的region的算法实现

    以下图为例: 比如我想把面积第2小的那个“小正方形”选择出来,算法代码如下: read_image (Yuan, 'C:/Users/happy xia/Desktop/yuan.png') bina ...

  7. mysql常见错误/usr/local/mysql/bin/mysqld: [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

    出现这种情况多数是找不到data目录,还有就是对data目录没有写入权限.

  8. juniper交换机配置

    1.链接串口配置: minicom -s ```bash Serial port setup  A -    Serial Device      : /dev/ttyS1               ...

  9. Effective Java 中文版

    始读于2014年8月2日10:15,整理完成于2014年8月20日23:14:42 一图一世界,<Effective Java >是Java领域大牛Joshua Bloch的获奖之作,去年 ...

  10. kaggle-泰坦尼克号Titanic-3

    根据以上两篇的分析,下面我们还要对数据进行处理,观察Age和Fare两个属性,乘客的数值变化幅度较大!根据逻辑回归和梯度下降的了解,如果属性值之间scale差距较大,将对收敛速度造成较大影响,甚至不收 ...