美文网首页
如何创建库源码文件

如何创建库源码文件

作者: 酷走天涯 | 来源:发表于2018-12-24 09:22 被阅读1次

    如何创建库文件

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

    相关文章

      网友评论

          本文标题:如何创建库源码文件

          本文链接:https://www.haomeiwen.com/subject/ymfyzftx.html