首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以在GOROOT或GOPATH之外创建软件包?

是否可以在GOROOT或GOPATH之外创建软件包?
EN

Stack Overflow用户
提问于 2022-05-14 11:12:15
回答 1查看 333关注 0票数 -3

我的目标是在桌面/Users/username/Desktop/Learn/golang-package上创建一个Go's项目文件夹,并创建一个math包。

参考资料:https://www.golang-book.com/books/intro/11

问题是:go run main.go抛出main.go:4:2: package chapter-11/math is not in GOROOT (/usr/local/go/src/chapter11/math)

我所做的:

  1. run go env -w GO111MODULE=off然后go run main.go,它抛出main.go:4:2:无法在/usr/local/go/src/第11章/数学(从$GOROOT) /User/username/go/src/ cannot 11/math(从$GOPATH)

中找到go run main.go

  1. ./math文件夹中运行go install,nothing
  2. ./math文件夹到/usr/local/go/src/chapter11/并运行go run main.go,但我希望能够将其放在桌面上,而不是在每次需要创建新文件夹或更改文件夹名时输入密码的地方。

文件夹概述

代码语言:javascript
运行
复制
golang-package
|-main.go
|-chapter11
  |- math
     |- math.go

main.go

代码语言:javascript
运行
复制
package main

import (
    "chapter11/math"
    "fmt"
)

func main() {
    xs := []float64{1, 2, 3, 4}
    avg := math.Average(xs)
    fmt.Println(avg)
}

math.go

代码语言:javascript
运行
复制
package math

func Average(xs []float64) float64 {
    total := float64(0)
    for _, x := range xs {
        total += x
    }
    return total / float64(len(xs))
}
EN

回答 1

Stack Overflow用户

发布于 2022-05-14 13:17:10

事实证明:

您可以在桌面上创建项目,例如项目文件夹中的/Users/username/Desktop/Learn/learn-go.

  • go install,例如,/Users/username/Desktop/Learn/learn-go将在/usr/local/go/bin.

  • If上创建一个文件,您将创建一个包,例如package math,您希望访问它,您需要运行例如go mod init example.com/chapter11,然后您需要添加import "example.com/chapter11/math"
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72239649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档