Go---fmt.Stringer内建接口

简介: Go---fmt.Stringer内建接口

类似于Java中的toString,可以定制结构体的输出格式

官方接口的定义

type Stringer interface {
  String() string
}
• 1
• 2
• 3

使用

type User struct {
  name  string
  age   int
  sex   string
}
// 实现接口
func (u *User) String() string {
  return fmt.Sprintf("name=%s,age=%d,sex=%s", u.name, u.age, u.sex)
}
func main() {
  u := &User{name: "张三", age: 18, sex: "男"}
  fmt.Println("fmt.Println(u):")
  fmt.Println(u)
  fmt.Println("fmt.Printf(\"%s\",u):")
  fmt.Printf("%s\n", u)
  fmt.Println("fmt.Printf(\"%v\", u):")
  fmt.Printf("%v\n", u)
}


相关文章
|
7月前
|
自然语言处理 Go 索引
Go语言学习8-接口类型
【4月更文挑战第1天】本篇 Huazie 向大家介绍 Go 语言中的接口类型
47 2
Go语言学习8-接口类型
|
7月前
|
设计模式 存储 监控
《Go 简易速速上手小册》第4章:接口与抽象(2024 最新版)(上)
《Go 简易速速上手小册》第4章:接口与抽象(2024 最新版)
75 1
|
7月前
|
Go
|
12天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
1月前
|
存储 Rust Go
Go nil 空结构体 空接口有什么区别?
本文介绍了Go语言中的`nil`、空结构体和空接口的区别。`nil`是预定义的零值变量,适用于指针、管道等类型;空结构体大小为0,多个空结构体实例指向同一地址;空接口由`_type`和`data`字段组成,仅当两者均为`nil`时,空接口才为`nil`。
Go nil 空结构体 空接口有什么区别?
|
6月前
|
Go 数据安全/隐私保护
go 基于gin编写encode、decode、base64加密接口
go 基于gin编写encode、decode、base64加密接口
62 2
|
3月前
|
存储 Go
Go to Learn Go之接口
Go to Learn Go之接口
32 7
|
7月前
|
程序员 Go
|
4月前
|
存储 缓存 NoSQL
在 Go 中使用接口进行灵活缓存
在 Go 中使用接口进行灵活缓存
|
7月前
|
存储 安全 Go
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
145 0