zoukankan      html  css  js  c++  java
  • 04-包

    什么是包,为什么使用包?

    到目前为止,我们看到的 Go 程序都只有一个文件,文件里包含一个 main 函数和几个其他的函数。在实际中,这种把所有源代码编写在一个文件的方法并不好用。以这种方式编写,代码的重用和维护都会很困难。而包(Package)解决了这样的问题。
    包用于组织 Go 源代码,提供了更好的可重用性与可读性。由于包提供了代码的封装,因此使得 Go 应用程序易于维护。
    通过这个程序,我们会更好地理解包

    main函数和main包

    所有可执行的 Go 程序都必须包含一个 main 函数。这个函数是程序运行的入口。main 函数应该放置于 main 包中。
    package packagename 这行代码指定了某一源文件属于一个包。它应该放在每一个源文件的第一行。(包名是该项目所处的文件夹名,启动文件改成main包)
    下面开始为我们的程序创建一个 main 函数和 main 包。在 Go 工作区内的 src 文件夹中创建一个文件夹,命名为 geometry。在 geometry 文件夹中创建一个 geometry.go 文件。

    在 geometry.go 中编写下面代码。

    package main   #main包
    import "fmt"  #导fmt包
    
    func main() {  
        fmt.Println("Geometrical shape properties")
    }

    package main 这一行指定该文件属于 main 包。import "packagename" 语句用于导入一个已存在的包。在这里我们导入了 fmt包,包内含有 Println 方法。接下来是 main 函数,它会打印 Geometrical shape properties

    创建自定义的包

    属于某一个包的源文件都应该放置于一个单独命名的文件夹里。按照 Go 的惯例,是该文件夹名命名包名,在同一个文件夹下,包名必须一致启动文件的包名必须是main,其他文件夹的包名可以是文件夹名字。

    导入自定义包

    导入自定义包的语法为 import 包名。我们必须指定自定义包是针对于src文件夹的相对路径

    // 包的使用
    package main
    
    import "mypackage"  #导入mypackage包(src文件夹下的mypackage文件夹)
    import "fmt"
    
    func main() {
    
        //想使用mypackage包下的test函数和test1函数
        mypackage.Test1()  #在外部使用package包下的Test1函数,函数需要首字母大写
        fmt.Println("xxx")
    
    }

    mypackage包

    package mypackage
    import "fmt"
    
    func Test1()  {
        fmt.Println(test(1,2))
        fmt.Println("xxxx")
    }

    注意:(******)

    1.在同一个包下,变量,函数,都不能重复定义
    2.在包内定义的函数如果是小写字母开头,表示只能在包内部使用
    3.在外部包想使用(不在同一个文件夹下的文件),必须首字母大写

    下载第三方包可以在git上下载

     比如下面这个:

    go get github.com/astaxie/beego
  • 相关阅读:
    原型模型
    V模型
    瀑布模型
    微服务的特点 优点 缺点
    ip地址的分类
    DSSA特定领域软件体系结构
    Git操作 :从一个分支cherry-pick多个commit到其他分支
    【原理】从零编写ILI9341驱动全过程(基于Arduino)
    Arduino驱动ILI9341彩屏(一)——颜色问题
    STL库学习笔记(一)——什么是STL?
  • 原文地址:https://www.cnblogs.com/wangcuican/p/12017356.html
Copyright © 2011-2022 走看看