登录
首页 >  Golang >  Go问答

Go语言包结构

来源:Golang技术栈

时间:2023-04-21 18:51:13 155浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《Go语言包结构》,这篇文章主要会讲到golang等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我正在尝试学习 Go 并遵循现有的约定,但是,作为每个约定,您需要先了解它们,然后才能很好地使用它们,并且经过一些研究,我没有找到以下问题的确切答案:

我已经在我的内部建立了一个项目$GOPATH,遵循类似这样的结构:

$GOPATH/
  github.com/
    username/
      projectname/
        main.go
        numbers/
          rational.go
          real.go
          complex.go

我的主要是:

package main

import(
"fmt"
"./numbers"
)

func main() {
    fmt.Println(numbers.Real{2.0})
}

所以,问题是:

  1. 我读到我需要package.go在每个包文件夹中都有一个文件,对吗?

  2. 如果是这样,在里面,numbers.go我将如何导入rational.go和?real.go``complex.go

  3. 然后,是否有可能有类似的东西:

    // real.go package numbers

type Real struct {
    Number float64
}

...主要是做fmt.Println(numbers.Real{2.0})什么?

正确答案

首先:您的安装程序缺少文件夹src:它应该是`$GOPATH/ src /github.com/..."

第二:不要使用相对进口。只是不要这样做。导入包裹编号,例如import "github.com/username/projectname/number"

对于您的问题:

  1. 否。如果您在文件夹中有 Go 文件,它们会组合到一个包中,但您不必强制将一个包放入所有文件夹中。

  2. 所有文件rational.go,通常complex.go以. 它们都是包号的一部分,您 包括文件而是包。不需要导入当前包。所以不行。real.go``package numbers ****

  3. 是的

今天带大家了解了golang的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>