如何创建库源码文件

如何创建库文件

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

image.png

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

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

date.go

package util

import "fmt"

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

time.go

package util

import "fmt"

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

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

package main

import (

  "awesomeProject/main/util"
)

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

执行命令

go run main.go
image.png

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


作用域

  • 大写字母开头

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

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

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

package util

import "fmt"

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

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

main.go

package util

import "fmt"

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

接下来我们执行命令

go run main.go
image.png

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

image.png

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容