为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Golang 中一个包的几个文件中连接数据?

如何从 Golang 中一个包的几个文件中连接数据?

Go
饮歌长啸 2021-08-16 15:39:39
例如,结构: /src   main.go   /test     test1.go     test2.go, main.gopackage mainimport (    "fmt"    "./test") func main(){    fmt.Println(test.A)}test1.go:package testvar A  = []int{1,2,3}test2.go:package testvar A = []int{3,7}我明白,这是一个错误的代码,它抛出错误,因为我正在重新声明变量。我只是想问,我应该用哪种方式从一个包的文件中连接这个同名变量?
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

您可以使用以下init()函数启动切片并附加到它:


test1.go:


package test


var A  = []int{}


func appendA(v ...int) {

   A = append(A, v...)

   sort.Ints(A) // sort to make deterministic order per @peterSO comment

}


func init() {

   appendA(1, 2)

}

test2.go:


package test


func init() {

   appendA(3, 4)

}


查看完整回答
反对 回复 2021-08-16
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

例如,


test1.go:


package test


var A []int


func init() {

    A = append(a1, a2...)

}


var a1 = []int{1, 2, 3}

test2.go:


package test


var a2 = []int{3, 7}

main.go:


package main


import (

    "fmt"

    "test"

)


func main() {

    fmt.Println(test.A)

}

输出:


[1 2 3 3 7]


查看完整回答
反对 回复 2021-08-16
  • 2 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信