Go语法之包、导入包、导出名

官网教程(需翻墙):tour.go-zh.org/basics/1

每个 Go 程序都是由包构成的。

程序从 main 包开始运行。

通过导入路径 "fmt" 和 "math/rand" 来使用这两个包。

按照约定,包名与导入路径的最后一个元素一致。例如,"math/rand" 包中的源码均以 package rand 语句开始。

示例

package main

import (
	"fmt"
	"math/rand"
)

func main() {
    //翻译自官方文档
    //rand.Intn(n int) 的返回值是一个int类型的数。
    //这个数必定是一个非负的假随机数,数值在[0,n)之间。方法参数n的条件为不允许输入的n <= 0。
    //具体链接:https://go-zh.org/pkg/math/rand/#Intn
    fmt.Println("My favorite number is", rand.Intn(10))
}

复制代码



导入

例子

import (
    "fmt"
    "math"
)
复制代码

此代码用圆括号组合了导入,这是“分组”形式的导入语句

当然你也可以编写多个导入语句,例如:

import "fmt"
import "math"
复制代码

两者是等价的。使用分组导入语句是更好的形式。

导出名

例子

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Println(math.pi)
}
复制代码

在 Go 中,如果一个名字以大写字母开头,那么它就是已导出的。例如,Pizza 就是个已导出名,Pi 也同样,它导出自 math 包。

pizza 和 pi 并未以大写字母开头,所以它们是未导出的。

在导入一个包时,你只能引用其中已导出的名字。任何“未导出”的名字在该包外均无法访问

执行代码,观察错误输出。

错误:

prog.go:9:14: cannot refer to unexported name math.pi
prog.go:9:14: undefined: math.pi

Program exited.
复制代码

将 math.pi 改名为 math.Pi 就能正常运行了。因为Pi是已导出的名字。

转载于:https://juejin.im/post/5bca08ba6fb9a05d1478587c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值