当前位置:   article > 正文

[Golang]包_go改了名字没改包名

go改了名字没改包名

前言:

包就是数据和函数的集合,即我们编写的每个.go的程序文件都归属于一个包,在Go中,是通过包的形式来对项目结构或者文件进行管理。

包名与标识符

因为我们是通过包来管理文件,所以包名的命名是十分重要的,通常情况下,包名就是存放所使用的包的文件目录名。
当然我们也并不需要过度担心存在包名冲突的问题,引入导入包的时候,是需要靠全路径进行导入的,可以区分不同的包。一般情况下,包被导入后包名就是默认的名字,访问该包内的函数或者变量的时候,需要使用(Go中可以给该名字进行修改,这样就解决了包名相同的问题,注:修改名字后只能使用修改之后的名字)

此时,我们需要认识两个关键字package 和import
package :定义一个包,即该程序文件属于package后定义的包
import :导入我们需要使用到的包

语法:
package 包名
import 包所在的路径
修改包名称: import 修改的包名 包所在的路径

package cal   //定义一个cal包,包含此文件,即此文件是属于一个名字为cal的包
import FMT "fmt"  //引入fmt包,将fmt包名改为FMT
func sum(n int){
    num:=0
    for i:=1;i<=n;i++{
        num+=i  
    }
    FMT.Println(num)
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

注: 我们通过import引入的包,必须要进行使用,否则编译器会报错;同样的,我们定义过的变量,也必须要进行使用,否则编译器报错

当引用多个包的时候,我们可以简写为一下的形式:

import (
    "fmt"
    "unsafe"
)
如果我们引入了unsafe包,但没有使用,编译器会报错,这是我们不引入unsafe包,也可以对其进行屏蔽
eg:
import (
     "fmt"
    _ "unsafe" //屏蔽了unsafe包
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

如果我们要引入自己编写的包,需要用路径进行引入,我们在安装Go环境的时候,设置了环境变量GOPATH,GOPATH的目录下必须有个文件为src,我们引入的路径就从src下开始。(可以省略src,编译器会自动进行添加)
eg:
在这里插入图片描述
在这里插入图片描述
环境变量GOPATH的值如下:
在这里插入图片描述
我们在使用cal包的时候需要引入路径:
在这里插入图片描述
注: 如果我们希望编写的为可执行程序文件,则该文件必须属于main包即(package main) ,只有在main包中才会有main函数

标识符

如果我们希望一个变量或者函数在其他的包中是可以使用的话,该变量或者函数的名称应该以大写字母开头,类似于其他语言的公有概念。
如果名称以小写字母开头,在其他包中是不可以被使用的,类似于私有的

包的搜索:

编译器会首先查找 Go 的安装目录,没有找到,然后才会按顺序查找 GOPATH 变量里列出的目录。如果编译器查遍 GOPATH 也没有找到要导入的包,那么在试图对程序执行 run 或者 build的时候就会出错。

当然我们在引入包的时候,可以指定一个URL即网络路径,获取程序的依赖,这主要是依靠go get命令来完成的

go get         download and install packages and dependencies
               下载并安装软件包和依赖项
  • 1
  • 2

go get 将获取任意指定的 URL 的包,或者一个已经导入的包所依赖的其他包。

注:如果本篇博客有任何错误和建议,欢迎伙伴们留言

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/850989
推荐阅读
相关标签
  

闽ICP备14008679号