Go 学习笔记 10 | go mod 以及自定义包

Wonz · · 769 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一、go mod 以及 Golang 自定义包

go mod init 初始化项目

image

新建一个 demo 文件夹,在 demo 文件夹下新建 go.mod 文件和 main.go 文件,再在 demo 文件夹下新建一个 calc 文件夹,在 calc 文件夹下新建一个 calc.go 文件。

calc.go 代码

package calc  // package 一定要放在最上面

func Add(x, y int) int {  // 首字母大写表示公有方法
    return x + y
}

func Sub(x, y int) int {
    return x - y
}

main.go 代码

package main

import (
    "fmt"
    "demo/calc"  // 使用自定义包
)

func main() {
    sum := calc.Add(10, 2)
    fmt.Println(sum)
}

一个文件夹下直接包含的文件只能归属于一个 package,同样一个 package 的文件不能在多个文件夹下。

因此 calc.go 只属于 calc package。

包前面加下划线空格表示匿名引入包,如果不使用这个包,则不会报错。

import (
    "fmt"
    _ "demo/calc"  // 使用自定义包
)

main 包中,init 函数优先于 main 函数。

最后被导入的包会最先初始化并调用其 init() 函数。

二、参考教程

Golang 教程 P35


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Wonz

查看原文:Go 学习笔记 10 | go mod 以及自定义包

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

769 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传