为从其他包声明的结构赋值

时间:2017-08-10 10:07:56

标签: go

这是我的代码。 我将我的struct OperatInfo解压缩到struct.go,并想在worker.go的主包中使用这个结构。

struct.go

package batch

type OperatInfo struct {
    eventId string
    hallId string
    userId string
    operating string
    operatingID string
    ip string
}

worker.go

package main

import (
    "time"
    "fmt"
    "strconv"
    "./kernel/api"
    "./kernel/db"
    "./batch/basic"
    "./batch/struct"
)

var operatInfo batch.OperatInfo

func BatchDeposit(eventId string, userId string, hallId string, operating string, operatingID string, ip string) {
    // I get an error here
    operatInfo.eventId = eventId
    operatInfo.hallId = hallId
    operatInfo.userId = userId
    operatInfo.operating = operating
    operatInfo.operatingID = operatingID
    operatInfo.ip = ip
}

我无法设置operatInfo字段。

任何建议或提示都会有所帮助。感谢。

1 个答案:

答案 0 :(得分:1)

只有以大写字母开头的字段才公开显示 要解决您的问题,您可以为每个字段创建getter和setter,或者重命名字段'结构如下:

type OperatInfo struct {
    EventId string
    HallId string
    UserId string
    Operating string
    OperatingID string
    Ip string
}