2022-10-04:以下go语言代码输出什么?A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T{x:123}。 packag

2022-10-04:以下go语言代码输出什么?A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T{x:123}。

package main

import "fmt"

type T struct {
    x int
}

func (t T) String() string { return "boo" }

func main() {
    t := T{123}
    fmt.Printf("%v\n", t)
    fmt.Printf("%#v\n", t)
}

答案选D。
%v 按默认格式输出。
%+v 在%v的基础上额外输出字段名。
%#v 在%+v的基础上额外输出类型名。
%v和%+v直接输出String方法,%#v按展开输出。
这道题没啥诀窍,只能硬记住。
在这里插入图片描述

posted @ 2022-10-04 23:03  福大大架构师每日一题  阅读(13)  评论(0编辑  收藏  举报  来源