4 回答

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個贊
[I] 是否可以從這個 models.go 文件導(dǎo)出 person,在 person 命名空間中,比如 TypeScript/node.js?
不。

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個贊
你不能只通過一個完整的包。您可以通過基于它們創(chuàng)建自己的類型來傳遞不同的類型。如果有一個person.Person:
package models
import (
"huru/models/person"
)
type Person person.Person
//or
type EmbeddedPerson struct{
person.Person
additional string
}
這具有允許您添加自己的功能的優(yōu)點(diǎn)
func (p Person) CustomFunc() {}
這是一個游樂場鏈接,顯示了其中的一些細(xì)微差別:https://play.golang.org/p/1aLOcmsXHV2

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個贊
這里的 golang 概念有點(diǎn)不同。在命名空間范圍內(nèi)可用的 golang 結(jié)構(gòu)。
就像每個例子
package models
// struct name should starts with Capital letter to export
type Person struct {
Name string
age int
}
該P(yáng)erson結(jié)構(gòu)將在同一命名空間下的所有文件中可用(例如。models)。您不需要導(dǎo)入它。
但是如果你想在models命名空間之外訪問,你必須導(dǎo)入包models并Person使用它訪問對象。
前任。
package anotherpackage
import (
"<path to models>/models"
)
var perObj models.Person // here is how you can access the Person struct
如果您仍然不清楚,請告訴我。

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個贊
不。
您可以這樣使用,例如自定義日志
package customLog
import "log"
func Print(args ...interface{}) {
log.Print(args)
}
package example
func some() {
customLog.Print("hi babay")
}
- 4 回答
- 0 關(guān)注
- 235 瀏覽
添加回答
舉報