当前位置: 首页 > news >正文

Golang自定义包总结

为什么80%的码农都做不了架构师?>>>   hot3.png

近日在学习Golang的自定义包的创建方式,产生了一些经验,因此以这篇文章作为记录。

我们通过import语句将自定义包加入到我们项目main函数中,import语句后面的参数应该是文件夹的名称,和自定义包的package的名称或者自定义包里面的文件名称没有关系,例如文件的结构目录如下:

输入图片说明

main.go的源码:

package main

import "fmt"
import "foo"

func main() {
	bar.Abc()
	fmt.Print("This is main\n")
}

foo/test.go的源码:

package bar

import "fmt"

func Abc() {
	fmt.Print("This is test print\n")
}

上面的代码是顺利通过编译的。我们可以总结以下几点:

(1)import语句使用的是文件夹的名称

上面例子中的import后面的参数对应的就是文件夹foo

(2)文件夹的名称和package的名称不一定相同

上面的例子中,文件夹是foo,而package名称是bar。

(3)调用自定义包使用package名称.函数名的方式

例如上面使用的bar.Abc()。

(4)自定义包的调用和文件名没有关系

例如上面的test.go文件,如果改成test_abc.go,程序也能正常编译。编译系统会自动查找foo文件夹下的所有文件,在其中寻找package bar,然后选择Abc函数。

转载于:https://my.oschina.net/cloes/blog/1798448

相关文章:

  • Js基础——数据类型之Null和Undefined
  • 如何调用带返回值类型的函数
  • 通过pfSense阻止对某个网站的访问
  • scala基础语法(二)
  • python subprocess
  • linux笔记4.0
  • Oracle毙掉JavaOne
  • node入门
  • HTML5+CSS3+jQuery Mobile轻松构造APP与移动网站 (陈婉凌) 中文pdf扫描版
  • 拓展jquery js动态添加html代码 初始化数据
  • 几种编码格式
  • “Head First 设计模式“ :适配器模式
  • 一个披萨电影夜,你到底泄露了多少个人数据?
  • web项目中web.xml的作用
  • 【特征选择】过滤式特征选择法
  • [PHP内核探索]PHP中的哈希表
  • $translatePartialLoader加载失败及解决方式
  • 【技术性】Search知识
  • AngularJS指令开发(1)——参数详解
  • Docker 笔记(2):Dockerfile
  • echarts花样作死的坑
  • ECMAScript入门(七)--Module语法
  • JavaScript设计模式与开发实践系列之策略模式
  • jdbc就是这么简单
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Vue.js-Day01
  • XML已死 ?
  • 分享一份非常强势的Android面试题
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 警报:线上事故之CountDownLatch的威力
  • 看域名解析域名安全对SEO的影响
  • 力扣(LeetCode)357
  • 入口文件开始,分析Vue源码实现
  • 树莓派 - 使用须知
  • 我与Jetbrains的这些年
  • 学习笔记:对象,原型和继承(1)
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 国内开源镜像站点
  • ​MySQL主从复制一致性检测
  • ​TypeScript都不会用,也敢说会前端?
  • # Java NIO(一)FileChannel
  • # 达梦数据库知识点
  • #NOIP 2014# day.2 T2 寻找道路
  • #stm32整理(一)flash读写
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (一)80c52学习之旅-起始篇
  • (转)winform之ListView