簡體   English   中英

如何在 Golang 中的另一個包中向現有類型添加新字段

[英]How add new fields to the existing type in another package in Golang

我有一個自定義 AUTH 包,那里有 USER STRUCT。

所以我想在我的 go 項目中導入 auth 包並覆蓋結構或向結構添加新字段而不修改包代碼。

package auth
type User struct {
    gorm.Model
    UserEmail string
    UserPass  string
}

現在我有 main.go

package main

import "auth"

// WANT TO OVERRIDE OR EXTEND THE USER STRUCT
auth.User = {
    UserAge string
}

function main() {
}    

所以我想在我的 go 項目中導入 auth 包並覆蓋結構或向結構添加新字段而不修改包代碼。

在 Go 中你根本無法做到這一點。 你必須重新設計。

你可以像這樣定義一個新類型:

type NewUser struct {
  auth.User
  UserAge string
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM