首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Golang中连接来自一个包的几个文件的数据?

如何在Golang中连接来自一个包的几个文件的数据?
EN

Stack Overflow用户
提问于 2014-09-03 14:51:25
回答 2查看 404关注 0票数 0

例如,结构:

代码语言:javascript
复制
 /src
   main.go
   /test
     test1.go
     test2.go

,main.go

代码语言:javascript
复制
package main

import (
    "fmt"
    "./test"
) 

func main(){
    fmt.Println(test.A)
}

测试1.开始:

代码语言:javascript
复制
package test

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

测试2.开始:

代码语言:javascript
复制
package test

var A = []int{3,7}

我理解,这是一个错误的代码,它抛出错误,因为我要重新声明变量。我只想问一问,我应该用哪种方式从一个包的文件中连接这个同名变量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-03 15:02:09

您可以使用init()函数启动切片及其附加:

测试1.开始:

代码语言:javascript
复制
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.开始:

代码语言:javascript
复制
package test

func init() {
   appendA(3, 4)
}
票数 2
EN

Stack Overflow用户

发布于 2014-09-03 16:18:56

例如,

test1.go

代码语言:javascript
复制
package test

var A []int

func init() {
    A = append(a1, a2...)
}

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

test2.go

代码语言:javascript
复制
package test

var a2 = []int{3, 7}

main.go

代码语言:javascript
复制
package main

import (
    "fmt"
    "test"
)

func main() {
    fmt.Println(test.A)
}

输出:

代码语言:javascript
复制
[1 2 3 3 7]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25647473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档