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

从另一个包导出功能

唐声
2023-03-14
问题内容

我按照https://golang.org/doc/code.html#Workspaces链接中的说明进行操作,并构建了我的第一个Go程序。

因此,我尝试使用以下说明创建库=
https://golang.org/doc/code.html#Library

一切都很完美,直到构建hello.go,它给了我这个错误。

/hello.go:10:13:未定义:stringutil.Reverse

我已经重建了 reverse.go.

那就是我的代码

package main

import (
    "fmt"

    "github.com/d35k/stringutil"
)

func main() {
    fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}

那是我的reverse.go(与文档相同)

package stringutil

func reverse(s string) string {
    r := []rune(s)
    for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
        r[i], r[j] = r[j], r[i]
    }
    return string(r)
}

和我的gopath变量

export GOPATH=$HOME/GoLang

和我的文件放在

GoLang/src/github.com/mygithubusername/

问题答案:

Golang Tour将导出的名称指定为

如果名称以大写字母开头,则将导出。并且在导入包时,您只能引用其导出的名称。无法从包外部访问任何“未导出”的名称。

更改reversefunc 的名称Reverse以使其可导出到主程序包。像下面

package stringutil

func Reverse(s string) string {
    r := []rune(s)
    for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
        r[i], r[j] = r[j], r[i]
    }
    return string(r)
}


 类似资料:
  • 我撰写并发表了以下内容:https://github.com/justin-calleja/pkg-dependents 现在我写这个包在TypeScript:https://github.com/justin-calleja/update-dependents 我想在update dependents中重复使用pkg dependents(IndexInfoDict)中定义的类型,我想检查是否有

  • 问题内容: 我在尝试从另一个包和文件导入类型时遇到问题。我要导入的结构是下面的那个。 如果我将PriorityQueue及其所有方法放在同一个文件中,则可以使用 我一直在像疯子一样在互联网上搜索这个简单问题的答案,但我没有找到答案。我通常用Java编程,而导入类是如此基础。 问题答案: 在Go中,您不导入类型或函数,而是导入 包 (请参见Spec:导入声明)。 导入声明示例: 通过导入包,您可以访

  • 我的项目目录如下所示: 在我的主要范围内。py,我从文档导入一个函数。py如下: 它工作正常。 如何在中导入相同的东西?我尝试了: 但我有一个错误:

  • 我在eclipse STS中创建了一个Maven3 web项目(maven-archetype-webapp)。 现在,我想通过将项目从eclipse导出并导入到另一台机器上的eclipse中,在两台机器之间执行该项目。 我的目标是在另一台机器上的eclipse IDE中创建一个开发中项目的完美克隆,它的所有源代码都在我的eclipse IDE中,这样我就可以继续工作了。 对于普通的Java EE

  • 假设我有以下功能文件: 我ogin.feature 功能:登录网站 场景:现场登录验证 给定导航到站点登录页 家特色 功能:欢迎页面验证 场景:验证登录后出现的页面 已成功完成给定登录 登录成功后的页面出现时 然后测试完成 在Home.feature文件中,我需要先执行Login.feature,然后调用home.feature.所以当我从运行器测试中执行home时,它会依次执行login,然后是

  • 问题内容: 在将其标记为重复之前, 请阅读我的问题: 我正在尝试从子目录的文件中导入类 并且在我的课程中有()我尝试了什么: 放入main.py: 我收到错误消息: 从文件导入Klasa ImportError:没有名为“文件”的模块 当我尝试使用时: 我收到此错误: tmp = Klasa() NameError:未定义名称“ Klasa” 我在子文件夹中放了一个空格,它仍然不起作用,而我在 :