例如,结构: /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)
}
收到一只叮咚
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]
- 2 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消