gopath目录

    gopath目录就是我们存储我们所编写源代码的目录。该目录下往往要有3个子目录:src,bin,pkg。

    src ----  里面每一个子目录,就是一个包。包内是Go的源码文件

    pkg ----  编译后生成的,包的目标文件

    bin ---- 生成的可执行文件。

     

     

    通过前面学习大家已经对Go语言有了一定的了解,那要怎么来创建一个Go语言程序呢?本节就来带领大家实现一个简单的程序——在控制台输出“Hello  World!”。

     

    在控制台输出“Hello  World!”非常简单,仅需要几行代码就可以搞定,如下所示:

     

    package main    // 声明 main 包

    import (
          "fmt"       // 导入 fmt 包,打印字符串是需要用到
      )

    func main() {   // 声明 main 主函数
          fmt.Println("Hello  World!") // 打印 Hello World!
      }

     

    大家也许不明白这些代码的含义,没关系,下面就来一一介绍。

    package(创建包)

    Go语言以“包”作为管理单位,每个  Go 源文件必须先声明它所属的包,所以我们会看到每个 Go 源文件的开头都是一个 package 声明,格式如下:

    package name

    其中 package  是声明包名的关键字,name 为包的名字。

     

    Go语言的包与文件夹是一一对应的,它具有以下几点特性:

    • 一个目录下的同级文件属于同一个包。

    • 包名可以与其目录名不同。

    • main 包是Go语言程序的入口包,一个Go语言程序必须有且仅有一个 main 包。如果一个程序没有 main 包,那么编译时将会出错,无法生成可执行文件。

    import(导入包)

    在包声明之后,是 import  语句,用于导入程序中所依赖的包,导入的包名使用双引号""包围,格式如下:

    import "name"

    其中 import  是导入包的关键字,name 为所导入包的名字。

     

    代码第 4 行导入了 fmt  包,这行代码会告诉 Go 编译器,我们需要用到 fmt 包中的函数或者变量等,fmt  包是Go语言标准库为我们提供的,用于格式化输入输出的内容(类似于C语言中的 stdio.h 头文件),类似的还有 os 包、io 包等,后面我们会详细介绍。

     

    另外有一点需要注意,导入的包中不能含有代码中没有使用到的包,否则Go编译器会报编译错误,例如 imported and not used:  "xxx","xxx" 表示包名。

     

    也可以使用一个 import  关键字导入多个包,此时需要用括号( )将包的名字包围起来,并且每个包名占用一行,也就是写成下面的样子:

    import(

        "name1"

        "name2"

    )

    main 函数

    代码的第 7 行创建了一个 main  函数,它是Go语言程序的入口函数,也即程序启动后运行的第一个函数。main 函数只能声明在 main 包中,不能声明在其他包中,并且,一个 main  包中也必须有且仅有一个 main 函数。

    C/C++ 程序的入口函数也是 main(),一个 C/C++ 程序有且只能有一个  main() 函数。

    main  函数是自定义函数的一种,在Go语言中,所有函数都以关键字 func 开头的,定义格式如下所示:

    func 函数名 (参数列表)  (返回值列表){

        函数体

    }

    格式说明如下:

    • 函数名:由字母、数字、下画线_组成,其中,函数名的第一个字母不能为数字,并且,在同一个包内,函数名称不能重名。

    • 参数列表:一个参数由参数变量和参数类型组成,例如func foo( a int, b       string )。

    • 返回值列表:可以是返回值类型列表,也可以是参数列表那样变量名与类型的组合,函数有返回值时,必须在函数体中使用       return 语句返回。

    • 函数体:能够被重复调用的代码片段。

    注意:Go语言函数的左大括号{必须和函数名称在同一行,否则会报错。

    打印 Hello  World

    代码的第 8 行fmt.Println("Hello World!")中,Println  是 fmt 包中的一个函数,它用来格式化输出数据,比如字符串、整数、小数等,类似于C语言中的 printf 函数。这里我们使用 Println  函数来打印字符串,也就是( )里面使用""包裹的部分。

    注意,Println  函数打印完成后会自动换行,ln是 line 的缩写。

    点号.是Go语言运算符的一种,这里表示调用 fmt 包中的  Println 函数。

     

    另外,代码fmt.Println("Hello World!")的结尾,不需要使用;来作为结束符,Go  编译器会自动帮我们添加,当然,在这里加上;也是可以的。

     

    到这里,相信大家已经知道如何创建一个简单的Go语言程序了,赶快动手试试吧!下一节将为大家演示,如何运行我们所编写的Go语言程序。