Go语言学习笔记2019.11.27


自定义包

对于一个较大的应用程序,我们应该将它的功能性分隔成逻辑的单元,分别在不同的包里实现,我们创建的自定义包最好放在GOPATH的src目录下,或者GOPATH的src的某个子目录。
在Go语言中,代码包中的源码文件名可以是任意的,但是,这些任意名称的源码文件必须以包声明语句作为文件中的第一行,每个包都对应一个独立的名字空间。

package calc

包中成员以名称首字母决定访问权限:

  1. public:首字母大写,可以被包外访问
  2. private:首字母小写,仅包内成员可以访问

注意:同一个目录下不能定义不同的package。

main包

导入包

传统写法:

import "fmt" // 导入包,必须使用,否则编译不过
import "os"

常用写法:

import {
   "fmt"
   "os"
}

. 操作 调用函数无需包名

import . "fmt"
func main() {
    Println("os.Args = " , Args)
}

给包名起别名

 import io "fmt"

忽略此包

 import  _ "fmt"

下划线操作常常是用于引入该包,但不直接使用包里面的函数,只是为了调用包的init函数。

main函数和init函数

go有两个保留函数,init函数(能够应用于所有的package)和main函数(只能应用于package main)。这两个函数在定义时不能有任何的参数和返回值,虽然一个package里面可以写任意多个init函数,但这无论是可读性还是可维护性来说,强烈建议一个package中每个文件只写一个init函数。
所有的 init都会在程序执行开始的时候被调用,都会在main函数之前执行。
程序的初始化和执行都起始于main包,如果main包还导入了其他的包,那么就会在编译时将他们依次导入。需要注意的是,先执行被导入包的init函数,最后执行main的init函数。

工程管理

同目录

  1. 分文件编程(多个源文件),必须放在src目录
  2. 设置GOPATH环境变量
  3. 同一个目录,包名必须一样
  4. go env 查看go相关的环境路径
  5. 同一个目录调用别的文件的函数,直接调用即可,无需包名引用

不同目录

  1. 不同目录,包名不一样
  2. 调用不同包里面的函数,格式:包名.函数名()

包中成员以名称首字母决定访问权限:

  1. public:首字母大写,可以被包外访问
  2. private:首字母小写,仅包内成员可以访问
  3. private无法被别的包调用

go install

  1. src目录放源代码;bin目录放可执行程序;pkg放平台相关库
  2. 如果源码有多个文件或多个包,需要先配置GOPATH环境变量,配置src同级目录的绝对路径
  3. 环境变量GOBIN:指定源代码路径的bin目录
  4. 配置环境变量GOBIN后,使用go install命令,会自动生成bin和pkg

本文发表于2019年11月27日 22:45
阅读 1906 讨论 0 喜欢 1

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1