如何创建库源码文件

如何创建库文件

创建一个文件夹 创建若干个.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,那么这个包就是内包,只允许直接父级和其子包访问,其它包只要访问这个内置包都是非法的,编译会出错

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券