golang fmt.Stringer 接口的使用 定制struct的格式化输出

在Go中Stringer接口也有此功能。Stringer接口定义在fmt包中,该接口包含String()方法。任何类型只要定义了String()方法,进行Print输出时,就可以得到定制输出。

Stringer接口定义如下:

type Stringer interface {
    String() string
}
package main

import (
        "fmt"
)


type Power struct{
        age int
        high int
        name string
}

//指针类型
func (this *Power) String() string {
        return fmt.Sprintf("age:%d, high:%d, name:%s", this.age, this.high, this.name)
}


func main() {
        var i *Power = &Power{age: 10, high: 178, name: "NewMan"}  //指针类型


        fmt.Printf("%s\n", i)
        fmt.Println(i)
        fmt.Printf("%v", i)
}


原文链接:https://blog.csdn.net/lanyang123456/java/article/details/78178183

posted @ 2020-04-01 17:45  kissrule  阅读(766)  评论(0编辑  收藏  举报