%.10q是什么意思?

fmt 的格式有点搞不明白

func (i item) String() string {                                                      
        switch {
        case i.typ == itemEOF:                                                       
                return "EOF"
        case i.typ == itemError:                                                     
                return i.val
        case i.typ > itemKeyword:                                                    
                return fmt.Sprintf("<%s>", i.val)                                    
        case len(i.val) > 10:
                return fmt.Sprintf("%.10q...", i.val)                                
        }       
        return fmt.Sprintf("%q", i.val)                                              
}       

这里面的 len 大于10 然后%.10q... 是想打印什么?

共 2 个回复


ggaaooppeenngg

应该是不想打印太多省略了10个以后的意思,原来字符串也可以精度表示……

# 1