当前位置: 首页 > 面试题库 >

如何导入其他包内部的结构?

关飞翔
2023-03-14
问题内容

我尝试学习Go,但是我经常感到沮丧,因为其他语言似乎无法在Go中使用某些基本功能。因此,基本上,我想使用在其他文件中定义的结构类型。我能够使用结构类型以外的功能。在main.go中,

  package main

  import (
      "list"
  )

  func main() {
      lst := list.NewList(false)         
      lst.Insert(5)
      lst.Insert(7)
      lst.InsertAt(2, 1)
      lst.PrintList()
  }

正如我所期望的那样,它可以完美运行(以及所有其他功能)(列表位于$ GOPATH中)。在软件包列表中,我将struct定义如下:

type LinkedList struct {
    head    *node
    size    int
    isFixed bool
}

我想在其他结构中使用此结构,所以我尝试做这样的事情,

type SomeType struct {
    lst *LinkedList
}

但不幸的是,我收到未定义LinkedList类型的错误消息。如何使用其他包中定义的结构?


问题答案:

LinkedList类型位于list名称空间中,因此将对类型的用法更改为:

type SomeType struct {
    lst *list.LinkedList
}


 类似资料:
  • 问题内容: 我知道如何在同一包中的结构中嵌入其他结构,但是如何在其他包的结构中嵌入结构? dog.go main.go 当我运行main.go时,它告诉我一个错误: 问题答案: @simon_xia是正确的,看来您 可能 对Go有点陌生。 首先,欢迎来到社区!! 现在,请扩展一下他的评论… Go并未提供成员/方法的公共/私有范围,而是具有Exporting的概念。因此,如果要允许从另一个包访问方法

  • 问题内容: 如何在Python中导入其他文件? 我到底该如何导入特定的文件呢? 如何导入文件夹而不是特定文件? 我想根据用户输入在运行时动态加载Python文件。 我想知道如何从文件中仅加载一个特定部分。 例如,在我有: 尽管这给了我中的所有定义,但也许我只想要一个定义: 我要从import语句中添加些什么? 问题答案: 是Python中的新增功能,用于以编程方式导入模块。它只是一个包装器,请参见

  • 我在将存在acrofield从一个pdf导入另一个pdf时遇到问题。这两个pdf相似。我尝试导入并保存文件(下面的代码)。如果我从文件系统打开它,我看不到更改,但如果我用pdfbox打开它,我看到之前插入的acrofile。我注意到文件大小增加了,但当我打开它时,我看不到可填充的字段。 提前谢谢你

  • 问题内容: 我正在开发一个Java Api来做事(秘密,嗯;)。 有没有办法隐藏类以及API的内部结构? 我到现在为止发现的内容: 使用内部类(丑陋的方式,我不想将所有内容放到类文件中) 所有类都放在一个包中,这样我就可以使用“包”可见性(同样难看,我需要更多的包) 例: 有任何想法吗?谢谢! 问题答案: 使用界面定义您的应用程序做什么 创建访问服务的主入口点,仅返回接口 我不会真正隐藏实现类。您

  • 我正在事务中做一个简单的插入行,下面是我遵循的步骤 < li >开始; < li >插入数据 < li >查询pg_locks pg_locks现在说有一个独家锁,如下图所示。 根据该文档,排他锁只能通过并发刷新物化视图来获得。 我到底做错了什么? 使用pgsql-9.4 插入前的 Pg Locks 表有四行,这是由于在两个单独的会话中查询pg_locks表本身。 插入之后,它有两个额外的行,一个

  • 我试图监听一个目录的变化,然后发现java.nio.*是为了高效地处理这样的任务而开发的。然后从oracle下载JDK1.7.0_02,并用它启动eclipse。然后创建新的java项目,试图从java.nio.file实现一些类,哦,我的眼睛!“无法解析导入java.nio.file”。我必须在包含这样的包的整个JDK1.7.0_02目录中找到一些。jar吗?还是我的类路径出了问题?提前谢谢!!