例如,结构:
/src
main.go
/test
test1.go
test2.go,main.go
package main
import (
"fmt"
"./test"
)
func main(){
fmt.Println(test.A)
}测试1.开始:
package test
var A = []int{1,2,3}测试2.开始:
package test
var A = []int{3,7}我理解,这是一个错误的代码,它抛出错误,因为我要重新声明变量。我只想问一问,我应该用哪种方式从一个包的文件中连接这个同名变量?
发布于 2014-09-03 15:02:09
您可以使用init()函数启动切片及其附加:
测试1.开始:
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)
}测试2.开始:
package test
func init() {
appendA(3, 4)
}发布于 2014-09-03 16:18:56
例如,
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]https://stackoverflow.com/questions/25647473
复制相似问题