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

例如,结构:


 /src

   main.go

   /test

     test1.go

     test2.go

, main.go


package main


import (

    "fmt"

    "./test"


func main(){

    fmt.Println(test.A)

}

test1.go:


package test


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

test2.go:


package test


var A = []int{3,7}

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


饮歌长啸
浏览 148回答 2
2回答

HUH函数

您可以使用以下init()函数启动切片并附加到它:test1.go:package testvar 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 testfunc init() {   appendA(3, 4)}

收到一只叮咚

例如,test1.go:package testvar A []intfunc init() {    A = append(a1, a2...)}var a1 = []int{1, 2, 3}test2.go:package testvar a2 = []int{3, 7}main.go:package mainimport (    "fmt"    "test")func main() {    fmt.Println(test.A)}输出:[1 2 3 3 7]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go