原始值类型的复合文字
Go composite literal for type of primitive value
我是 Go 新手,有一个问题。也许它不是惯用的 Go 代码,而只是为了研究如何使这段代码工作?貌似可以把int类型作为receiver类型,但是在main中怎么调用呢?:
xa.go
package main
import "fmt"
type xa int
func (xl xa) print() {
fmt.Println(xl)
}
main.go
package main
func main() {
X := (xa{2})//not working
X.print()
}
运行:
go run main.go xa.go
.\main.go:10:8: invalid composite literal type xa
使用类型 conversion:
x := xa(2) // type conversion
x.print()
或者给你的变量一个类型,你可以使用一个 untyped constant assignable 到(一个类型的变量)xa
:
var y xa = 3 // 3 is an untyped constant assignable to xa
y.print()
尝试 Go Playground 上的示例。
我是 Go 新手,有一个问题。也许它不是惯用的 Go 代码,而只是为了研究如何使这段代码工作?貌似可以把int类型作为receiver类型,但是在main中怎么调用呢?:
xa.go
package main
import "fmt"
type xa int
func (xl xa) print() {
fmt.Println(xl)
}
main.go
package main
func main() {
X := (xa{2})//not working
X.print()
}
运行:
go run main.go xa.go
.\main.go:10:8: invalid composite literal type xa
使用类型 conversion:
x := xa(2) // type conversion
x.print()
或者给你的变量一个类型,你可以使用一个 untyped constant assignable 到(一个类型的变量)xa
:
var y xa = 3 // 3 is an untyped constant assignable to xa
y.print()
尝试 Go Playground 上的示例。