go语言之package

1、关于包

包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmtosio等。

2、包定义

我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包。

package 包名

3、包的可见性

如果想在一个包中引用另外一个包里的标识符(如变量、常量、类型、函数等)时,该标识符必须是对外可见的(public)。在Go语言中只需要将标识符的首字母大写就可以让标识符对外可见了。

4、init()函数

每个包导入的时候会自动执行一个名为`init()`的函数,它没有参数也没有返回值,也不能手动调用

代码展示

包结构:

                                               

在calc_demo的calc.go定义了一个Sum()函数

package calc

import "fmt"

func init() {
	fmt.Println("自动执行calc")
}
func Sum(x, y int) int {
	return x + y
}

 在import_demo中引用此包:

package main

import (
	"fmt"
	calc "go/0119/calc_demo"
)

var x = 100

const pi = 3.14

func init() {
	fmt.Println("自动执行import")
	fmt.Println(x, pi)
}

func main() {
	ret := calc.Sum(10, 20)
	fmt.Println(ret)
}

执行结果:

自动执行calc
自动执行import
100 3.14
30

分析:

1、首先是先执行的calc.go里的init(),然后执行main.go里面的init()。

2、调用的时候默认包名和import的最好一致;如果不一致,会默认在前面加一个相同的名字来补充

3、调用函数需要大写

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Go语言中,使用关键字"package"来定义一个包,而"main"则是一个特殊的包名,表示这个包是一个可执行程序的入口包。因此,在Go语言中,当我们使用"package main"时,它会被标记为红色,表示这是一个特殊的包名。 ### 回答2: 在Go语言中,当我们声明一个文件为可执行文件时,需要在文件的顶部声明package main。这是因为在Go语言中,所有可执行程序都必须包含一个main函数,作为程序的入口。 当我们在一个文件中声明了package main时,编译器会将该文件视为一个可执行文件,并且在编译时会检查该文件是否符合程序入口的标准。如果文件中未声明main函数,则编译器会抛出错误,并将package main标红。 package main标红的原因通常是文件中缺少main函数或main函数的定义不正确。要解决这个问题,我们需要确保在文件中声明了package main,并且在其下方定义了正确的main函数。 正确的main函数应该是这样的: func main() { // your code here } 在main函数中,我们可以执行任何我们需要执行的操作。例如,我们可以打印输出、读取数据、启动goroutine等。 总之,当我们在开发Go语言程序时,务必要注意在文件的顶部声明package main,并且确保我们的main函数符合程序入口的标准。这样才能确保我们的程序能够正确编译并运行,避免出现package main标红的问题。 ### 回答3: go语言中的package main是一个特殊的包名,它表示一个可执行的程序,也是go语言程序的入口。当代码中的package main标红时,一般有以下几个原因: 1. 代码中没有被main函数调用的其他函数或变量。在go语言中,未被调用的函数或变量是无效的,编译器会认为这些部分没有被实际使用,因此标红。 2. 缺少必要的依赖包。在函数中使用了其他依赖包中的函数或变量,但是没有正确引入这些依赖包。解决方法是通过import语句引入依赖包。 3. 代码语法错误。常见的错误包括拼写错误、语句错误、符号未关闭等。 在解决package main标红时,可以通过以下方法逐一排查。首先检查代码中可能存在的语法错误,如果没有错误可以逐一检查是否缺少依赖包或未被调用的函数或变量,最终将代码修复即可。 需要注意的是,在代码解决package main标红后,应该再进行一次编译和测试,以确保代码没有其他问题。同时,为了避免出现不必要的问题,建议在编写代码的过程中严格审查并及时修正代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值