在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. AWS安装

    curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" sudo python get-pip. ...

  2. 「小程序JAVA实战」小程序视频封面处理(48)

    转自:https://idig8.com/2018/09/16/xiaochengxujavashizhanxiaochengxushipinfengmianchuli47/ 截图这块,在微信小程序工 ...

  3. Microsoft Office Professional Plus 2013全套

    Microsoft Office Professional Plus 2013全套产品,全激活版本 包括Access  Word  Excel  Powerpoint  Publisher  Skyd ...

  4. localStorage,sessionStorage

    h5的本地存储. 现代浏览器普遍开始支持H5本地存储,localStorage.sessionStorage.可以用来代替cookie的一部分存储功能,他比cookie存储量更大.比较实用. 两者用法 ...

  5. 【327】Python 中 PIL 实现图像缩放

    参考:Python 中使用PIL中的resize 进行缩放 参考:Python用Pillow(PIL)进行简单的图像操作(模糊.边缘增强.锐利.平滑等) 参考:廖雪峰 - Pillow 实现代码如下: ...

  6. 2015年传智播客JavaEE 第168期就业班视频教程16-框架结构测试(加载全spring配置文件)+struts2属性驱动测试

    模块的规范化我们已经做完了,下面我们要做我们的功能了. 如果是模型驱动就是name="对应model的name" 如果用属性驱动的话,必须得把表现层(Action类)里面映射的用于 ...

  7. 系统批量运维管理器pexpect详解

    一.pexpect介绍 pexpect可以理解成Linux下的expect的Python封装,通过pexpect我们可以实现对ssh.ftp.passwd.telnet等命令进行自动交互,而无需人工干 ...

  8. Solidity根据精度来表示浮点数

    https://stackoverflow.com/questions/42738640/division-in-ethereum-solidity/42739843 pragma solidity ...

  9. nvidia 驱动下载地址

    http://www.nvidia.com/Download/index.aspx?lang=en-us

  10. asp.net网站全局控制文件内注册事件

    在管理ASP.NET网站的时候,有时会对网站整体做出控制,这时把这些代码写在global.asax内可以做到全局控制. 未添加任何代码的global.asax文件如下: <script runa ...