前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何创建库源码文件

如何创建库源码文件

作者头像
酷走天涯
发布2019-06-11 16:44:53
1.4K0
发布2019-06-11 16:44:53
举报
文章被收录于专栏:每日一篇技术文章

如何创建库文件

创建一个文件夹 创建若干个.go 文件,并声明他们归属于同一个包

image.png

util 是存放date.go time.go 的目录 但是包不见得就是util 因为声明的包名可以和文件夹的名字不一致,但是规范的做法最好是一致的

同一个包下,不能声明名称相同的方法,比如date.go 中有一个print 方法,那么time.go 中就不能声明print的方法

date.go

代码语言:javascript
复制
package util

import "fmt"

func printDate(){
    fmt.Println("2018-12-12")
}

time.go

代码语言:javascript
复制
package util

import "fmt"

func printTime(){
    fmt.Println("12:00:00")
}

我们在main.go 中引入util包,调用他们的方法

代码语言:javascript
复制
package main

import (

  "awesomeProject/main/util"
)

func main(){
  util.printDate()
  util.printTime()
}

执行命令

代码语言:javascript
复制
go run main.go

image.png

为什么会报错了,下面我们接着讲


作用域

  • 大写字母开头

表示该方法或者变量等可以被其他包内的访问到

  • 小写字母开头 只能在自己的包内被方位到

我们将date.go 方法修改一下

代码语言:javascript
复制
package util

import "fmt"

func PrintDate(){
    fmt.Println("2018-12-12")
    printTime()
}

在同一个包内访问模块的方法是不需要添加限定符的

main.go

代码语言:javascript
复制
package util

import "fmt"

func PrintDate(){
    fmt.Println("2018-12-12")
    printTime()
}

接下来我们执行命令

代码语言:javascript
复制
go run main.go

image.png

如果我们不行让模块的方法,被其他模块访问怎么办?

image.png

创建internal 包 ,只要包命名为interal,那么这个包就是内包,只允许直接父级和其子包访问,其它包只要访问这个内置包都是非法的,编译会出错

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.12.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何创建库文件
  • 作用域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档