如何从Go中的另一个包中导入结构?

您将学习创建自己的程序包并导入自定义程序包。在此示例中,您将看到如何从另一个或子包中导入结构。您还可以从主程序包中调用自定义程序包的功能。

以下将是我们应用程序的目录结构。

├── 家庭
│   ├── go.mod
│   ├── main.go
│   └── 父亲
│       └── 父亲
│       └── 儿子
│           └── 儿子去

进去 家庭 目录并运行以下命令以创建名为go的go模块 家庭.

go mod 在里面 家庭

上面的命令将创建一个名为 go.mod。以下是文件的内容。

module 家庭

go 1.14

family\main.go

要使用自定义包,我们必须先导入它。导入路径是模块的名称,该名称后附有包的子目录和包名称。在我们的示例中,模块名称为 家庭 父亲包在家庭下面的父亲文件夹中。并且,包son位于父文件夹下的son文件夹中。

因此,该行导入 “家庭/父亲” 将导入 父亲 包装,相似 “家庭/父亲/儿子” 将导入 儿子

 main

import (
	parent “家庭/父亲”
	child “家庭/父亲/儿子”

	"fmt"
)

func main() {
	f := new(parent.Father)
	fmt.Println(f.Data("Mr. Jeremy Maclin"))

	c := new(child.Son)
	fmt.Println(c.Data("Riley Maclin"))
}

我们将父亲包作为父母,儿子包作为孩子。在main()函数中,我们现在可以使用上述别名来定义父亲和儿子结构。


family \ 父亲 \ 父亲

建立档案 父亲 在 - 的里面 父亲 夹。里面的文件 父亲 文件夹应以该行开头 包父 因为它属于 父亲 包。

 父亲

import "fmt"

func 在里面() {
	fmt.Println("Father 包 在里面ialized")
}

type Father struct {
	Name string
}

func (f Father) Data(name string) string {
	f.Name = "Father : " + name
	return f.Name
}

在里面 函数可用于执行初始化工作,也可用于在执行开始之前确认程序的正确性。


家庭\父亲\儿子\ 儿子去

建立档案 儿子去 在 - 的里面 儿子 夹。里面的文件 儿子 文件夹应以该行开头 包子 因为它属于 儿子 包。

 儿子

import "fmt"

func 在里面() {
	fmt.Println("Son 包 在里面ialized")
}

type Son struct {
	Name string
}

func (s Son) Data(name string) string {
	s.Name = "Son : " + name
	return s.Name
}

family>go run main.go

如果运行该程序,将得到以下输出。

Father 包 在里面ialized
Son 包 在里面ialized
Father : Mr. Jeremy Maclin
Son : Riley Maclin

您必须阅读的解决方案

Arrange Game

该游戏可以是非常不错的大脑锻炼,它专注于提示您在很短的时间内按正确顺序排列数字的能力,该游戏取决于您选择的级别。从3平方x 3开始,看看它如何进行,然后随着您对这种大脑锻炼的改善,可以将其扩大。

Tic Tac Toe

这是一个简单的井字游戏。在此示例中,我们创建了两个组件行和列。我们还安装了Bootstrap以使我们的UI更加用户友好。本示例给出了一种维护组件之间状态的想法。

Calculator

这是一个简单的计算器示例。我介绍了有状态组件,该类使用类进行定义,并使跟踪应用程序状态提供的组件更加容易。该组件示例给出了如何在JSX中添加onClick事件的想法。

Carousel

这是一种简单的响应式轮播,从第三方网站加载图像并自动生成缩略图。我们使用了React Responsive 轮播 您需要首先安装并使用包中提供的Carousel组件的包,我们设计了我们的轮播。

Memory Game

此应用程序将您的内存进行测试。您会看到许多名人的图像。图像在每次单击时都会被打乱。您不能多次点击任何图像,否则您的分数将重置为零。主要目标是获得最高分。

Search Autocomplete

这是使用onChange事件并获取建议的结果值的搜索自动完成的基本示例。

Voting System

这是一个简单的投票计算器示例,可为每次点击增加计数。我介绍了有状态组件,该类使用类进行定义,并使跟踪应用程序状态提供的组件更加容易。该组件示例给出了如何在JSX中添加onClick事件的想法。

Compass Clock

本示例以指南针时钟格式显示当前日期时间。为了合理地执行此任务,我们将需要修改App.js文件以及App.css文件。这两个文件都在src文件夹的根目录中。