包导入的常规语法

在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下:

 import(
     "fmt"
 )

// 然后在代码里面可以通过如下的方式调用 
fmt.Println("hello world")

上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块:

// 相对路径 
import "./test_model" // 当前文件同一目录的test_model目录,但是不建议这种方式import 

// 绝对路径 
import "mygoproject/test_model" // 加载GOPATH/src/mygoproject/test_model模块
其它导包方式

点操作

*有时候会看到如下的方式导入包 *

import . "fmt"

这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的

fmt.Println(“hello world”) // 可以省略的写成 Println("hello world")

别名操作

别名操作顾名思义可以把包命名成另一个用起来容易记忆的名字

fmt.Println(“hello world”) // 可以省略的写成 Println(“hello world”)

_ 操作

import (
    "database/sql"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "time"
)  
/*
_ 操作其实只是引入该包。当导入一个包时,它所有的init()函数就会被执行,
但有些时候并非真的需要使用这些包,仅仅是希望它的init()函数被执 行而已。
这个时候就可以使用_操作引用该包了。即使用_操作引用包是无法通过包名来调用包中的导出函数,
而是只是为了简单的调用其init函数()。
*/

包内函数名为大小写

  • 函数名定义为小写,只能被当前包内部调用,跨目录跨包不可调用
  • 函数名定义为大写,其他包都可以调用,可跨目录调用