Win10下go如何调用自建包(实测可用)

本文介绍了Go语言中创建自定义包并进行调用的过程。作者在`goroot/src`下建立了自建包`gopl.io/ch2/tempconv`,包含温度转换的函数,并在`gopath`中编写了`main.go`来调用这些函数。在遇到错误后,通过创建`go.mod`文件并执行`go run`成功运行程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为go菜鸟,最近在学习go语言,学到建立自建包并调用时,真的有暴捶电脑的感觉

step 1:
需要在goroot/src下加入自建包
(goroot就是go就是go语言环境下文件夹的路径)
在这里插入图片描述
如上图,这里放的是go提供的包,其中gopl.io就是我的自建包,结构如下:
在这里插入图片描述

conv.go

package tempconv

// CToF converts a Celsius temperature to Fahrenheit.
func CToF(c Celsius) Fahrenheit { return Fahrenheit(c*9/5 + 32) }

// FToC converts a Fahrenheit temperature to Celsius.
func FToC(f Fahrenheit) Celsius { return Celsius((f - 32) * 5 / 9) }

实现温度的转换

tempconv.go

package tempconv

import "fmt"

type Celsius float64
type Fahrenheit float64

const(
	AbsoluteZeroC Celsius = -273.15
	FreezingC	  Celsius = 0
	BoilingC      Celsius = 100
)

func (c Celsius) String() string {return fmt.Sprintf("%g°C", c)}
func (f Fahrenheit) String() string {return fmt.Sprintf("%g°F", f)}

大写表示可外部使用,提供公用变量和函数

step 2:在gopath中编写main函数
gopath就是项目目录:请看我的gopath结构:
在这里插入图片描述
main.go

package main

import(
	"fmt"
	"gopl.io/ch2/tempconv"
)

func main(){
	fmt.Printf("Brrrr! %v\n", tempconv.AbsoluteZeroC) // "Brrrr! -273.15°C"
}

这时候如果我们在terminal直接运行,会有以下错误:
在这里插入图片描述
因此,我们需要在当前目录下建立一个go.mod
在这里插入图片描述
再次执行,它说我没有这个module,可能需要下载导入路径指定的包及其依赖项,然后安装命名包

于是:
在这里插入图片描述
最后,再次go run:
在这里插入图片描述
运行成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白速龙王的回眸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值