gpt4 book ai didi

go - 是否存在与 PHP 的 __toString 方法等效的 Go 方法?

转载 作者:IT王子 更新时间:2023-10-29 01:54:27 24 4
gpt4 key购买 nike

在 php 中存在一个 __toString() 方法,它允许对对象进行泰勒化表示。例如:

final class Foo
{
public function __toString()
{
return "custom representation";
}
}

$foo = new Foo();
echo $foo; // this will output "custom representation"

在 Go 中可以创建一个结构:

type Person struct {
surname string
name string
}

sensorario := Person{
"Senso",
"Rario",
}

fmt.Println(sensorario) // this will output "{Senso Rario}"

可以在结构中添加一个 toString 方法吗?


编辑:

我找到了这个解决方案:

func (p *Person) toString() string {
return p.surname + " " + p.name
}

fmt.Println(simone.toString())

但我正在寻找的是替换的方法

fmt.Println(simone.toString())

fmt.Println(simone)

最佳答案

我认为您正在寻找 Stringer界面。

type Stringer interface {
String() string
}

任何实现此接口(interface)的类型都将被许多不同的库使用它自动字符串化,显然包括 fmt 包,并且确实可以在您的 fmt.Println 示例中使用>.

关于go - 是否存在与 PHP 的 __toString 方法等效的 Go 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44602568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com