1.go语言入门----Helloworld与包引用

HelloWorld与包引用

学习一门语言的惯例都是从helloworld开始,go语言也不例外

在gopath下的src中创建一个helloworld目录,创建main.go文件

package main    //包声明

import (    // 引用包
	"fmt"
)

func main() {    //主函数
	fmt.Println("HelloWorld")
}

helloworld很简单,但是其中也是有几个需要注意的地方的

  1. main函数,这个是一个go程序的主函数,整个程序的入口点

  2. 定义函数使用关键字"func"

  3. 除此之外还有两个关键字,"package"和"import"

    package是定义该文件属于哪个包的,一个文件只能属于一个包,main包是主函数所在的目录

    import后面接的是你要引用的包,有个要求就是要引用的这个包必须在gopath下的src路径下


可能有些难以理解

我们来尝试引用一下其它包中的函数

  1. 在我的gopath路径下的src目录下创建一个文件夹,命名为helloworld,再在该目录创建一个子目录,名为package1,在其中创建test1.go文件

    package package1    // 定义了这个文件属于package1这个包,也就是目录名
    
    import (
    	"fmt"
    )
    
    func PrintHello() {    // 函数首字母大写,这样才能被外部调用
    	fmt.Println("Hello World from package1")
    }
    

    这里需要注意的就是除了main包外,其它包的包名,应该等于目录的名字。

    其次,同意目录下的所有go文件中的包名应该一致,否则会报错

    一个文件中的常量、函数,如果想要被其它包中的文件引用,那么首字母需要大写

  2. 引用我们创建的package1这个包

    在helloworld这个目录下创建main.go文件

    package main    // 声明这个文件是属于main包的
    
    import (
    	"helloworld/package1"    //这里引用了其中的package1包
    )
    
    func main() {
    	package1.PrintHello()    // 引用包中的函数
    }
    

    image-20210218154152262


引用包时,,还有几种不同的方式

import (
    . "package1"    // 前面加上点,这样在后面使用包中函数时就不需要在前面加上包名了
    p "package1"    // 前面可以设置一个别名,引用函数时使用这个别名即可
)

要点总结

  1. 一个go项目中必须有一个main包,且这个main包必须和main函数在同一层
  2. go语言使用package关键字来定义包,除了main包外,其余的包名通常就是所在的目录名
  3. 包中的常量、函数、结构体要想被外部调用,则必须首字母大写
  4. 你的项目本身必须在gopath下的src目录中,才能引用gopath中的包,其次,所有需要被引用的包也要放在该路径下,如本例中的helloworld目录就是在gopath下的src目录中
  5. 引用包时,使用的是相对于gopath下src目录的路径
posted @ 2021-02-18 15:56  只盼一人共白首  阅读(12)  评论(0编辑  收藏  举报