欧博注册网址
你的位置:欧博注册网址 > 欧博平台 >

香港六合彩炸金花博彩平台游戏种类_Golang 话语何如打印结构体指针类型字段的值?


发布日期:2023-10-30 02:36    点击次数:187

香港六合彩炸金花博彩平台游戏种类_Golang 话语何如打印结构体指针类型字段的值?

香港六合彩炸金花博彩平台游戏种类_ 01先容

在 Golang 话语建造中iba炸金花,咱们庸俗会使用结构体类型,如若咱们使用的结构体类型的变量包含指针类型的字段,咱们在纪录日记的技术,指针类型的字段的值是指针地址,将会给咱们 debug 代码变成未便。

骨子上,Golang 为咱们提供了一个接口类型 Stringer ,它是一个相沿以字符串风物描摹我方的类型,它只提供了一个法子,应该是 Golang 中最浅显和最常用的接口之一,它由 fmt 包界说。

type Stringer interface {     String() string } 

fmt 包的打印函数会检讨你的类型是否完了该接口,以便知说念何如打印你的变量。是以,咱们在纪录日记的技术,如若需要纪录的变量是具有指针类型字段的结构体,咱们不妨也为该结构体类型界说 String 法子,用来完了不错纪录指针字段的骨子值的所在。

博彩平台游戏种类光辉

本文咱们先容何如通过完了 Stringer 接口,让咱们的代码更优雅。

02打印指针类型的值

读者一又友们在 Golang 才调建造中,一定也会使用到包含指针类型字段的结构体,你是否在纪录日记的技术,发现纪录的值是指针地址,给你 debug 代码变成未便呢?

香港六合彩炸金花

皇冠hg86a

func main() {  name := "frank"  user := User{   Id:   1,   Name: &name,  }  fmt.Println(user) }  type User struct {  Id   int  Name *string } 

输出效果:

澳门赌球软件
{1 0xc000096210} 

阅读上头这段代码,咱们构造了一个包含指针类型字段的结构体,然后打印该结构体类型的变量,输出效果中指针类型的字段 Name 的值是指针地址,而不是咱们念念要的字段值 frank。

试念念一下,如若咱们纪录的日记中,变量的值是指针地址,将会对咱们 debug 代码变成不变,是以咱们需要使用 Golang 提供的接口 Stringer 贬责该问题。

皇冠博彩官方
func (u User) String() string {  return fmt.Sprintf("{Id: %v, Name: %v}", u.Id,欧博注册网址 *u.Name) } 

输出效果:

{Id: 1, Name: frank} 

阅读上头这段代码,咱们给类型 User 界说了 String 法子,通过完了 Golang 的 Stringer 接口,来完了打印指针类型变量的骨子值的所在。

03避“坑”

读者一又友们阅读完以上内容,应该还是学会了何如使用接口 Stringer 完了打印指针类型变量的值。不外,我如故念念列举一个相配情况,匡助 Golang 生手读者一又友避“坑”。如若你还是是 Golang 老手,本节内容不错跳过。

皇冠博彩新皇冠2022款suv陆放价格皇冠售后服务电话
func (u *User) String() string {  return fmt.Sprintf("{Id: %v, Name: %v}", u.Id, *u.Name) } 

阅读上头这段代码,咱们将类型法子的接收者改为指针类型,我确信大多半读者一又友们会使用指针类型的接收者。此时,读者一又友会发现输出效果莫得使用咱们界说的 String 法子,而是输出的指针类型字段的指针地址。

念念要贬责这个问题也很浅显,咱们只需要在界说结构体类型变量的技术,使用指针类型,这么 fmt 包的打印函数就不错自动实行咱们界说的 String 法子了。

皇冠客服飞机:@seo3687
func main() {  name := "frank"  user := &User{   Id:   1,   Name: &name,  }  fmt.Println(user) } 
04追想

本文咱们先容了何如打印包含指针类型变量的结构体类型变量的值,在咱们需要纪录日记的技术,无谓再因为纪录的是指针地址,从而给咱们 debug 代码变成未便。

参考云尔:

https://go.dev/doc/effective_go#pointers_vs_values

 

https://go.dev/tour/methods/17

 

近日,一则爆料引发了广泛的关注:据悉,一名著名足球明星在比赛中突然受伤,被迫退出赛场。不过,随着时间的推移,这一事实却被一些人质疑,甚至有人怀疑这是为了给某家博彩公司带来更多的利润而故意操作的。这是否是真相,还需要我们进一步调查和了解。

iba炸金花