Go语言教程之边写边学:导入导出:解引用来自另一个包的指针

此示例旨在演示指针的声明和访问指针指向的变量的值。

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

├── parent
│   ├── go.mod
│   ├── main.go
│   └── child
│       └── child.go

进入parent目录,执行以下命令,创建名为 parent 的go模块。

go mod init parent

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

module parent

go 1.14

parent\main.go代码如下:

package main

import (
	"fmt"
	c "parent/child"
)

func main() {
	a := &c.Data
	fmt.Println("Address of Data is", a)
	fmt.Println("Value of Data is", *a)
	*a++
	c.PrintData()
}

我们将子包别名为c。& 运算符用于获取变量的地址。在main函数中,我们现在可以使用上面的别名访问数据的地址。我们解引用a并打印它的值。

parent\child\child.go代码如下:

package child

import "fmt"

var Data = 10

func PrintData() {
	fmt.Println("Value of Data is", Data)
}

在child文件夹中创建一个文件child.go。子文件夹中的文件应以行包子文件夹开头,因为它属于子包。

parent>go run main.go

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

Address of Data is 0x563230
Value of Data is 10
Value of Data is 11
  • 当前日期:
  • 北京时间:
  • 时间戳:
  • 今年的第:18周
  • 我的 IP:18.116.118.216
农历
五行
冲煞
彭祖
方位
吉神
凶神
极简任务管理 help
+ 0 0 0
Task Idea Collect