标签 golang包的使用 下的文章

Golang进阶-包的使用

1:包其实就是目录,不同的包相当于不同的目录;每个包下是具有相同属性的文件:类似MVC目录的作用

2:src目录是以代码包的形式组织并保存Go源文件的;每个项目的main包下的是入口main函数

3:定义包的规则和要求:package 包名

  • 一个目录下的所有文件归属一个包,package的声明要一致;可以不一致,但习惯上还是要写一致
  • 包可以嵌套
  • 同包下的函数不需要导入包,可以直接使用
  • main包,main函数所在的包,其它的包不能使用mian包名
  • 导入包的时候,路径要从src下开始写;可以写成绝对路径和相对路径

4:特殊的一些import方式

  • 点操作: 例如:import( . "fmt") 含义:导入这个包后,调用这个包的函数时,可以省略前缀的包名;fmt.Plintln("hello world") => Println("hello world")
  • 起别名:import( p1 "package1") p1.Method()
  • _ 操作:如果仅仅导入包时执行初始化操作,并不需要使用包内的其他函数,常量等资源;只是执行了这包内的init函数,不会调用其他函数
  • 对于import要导入的外部包,可以使用go get命令获取下来放到GOPATH对应的目录中
示例:mysql
1>go get github.com/go-sql-driver/mysql

2>链接
db, err := sql.Open("mysql", "admin:admin@tcp(127.0.0.1:3306)/test?charset=utf8")
if err != nil {
    fmt.Println("错误信息:", err)
    return
}
fmt.Println("链接成功:", db)