refect: Type.String() should use a shortened package name
Этот коммит содержится в:
родитель
7a96f0f609
коммит
569817a514
2 изменённых файлов: 13 добавлений и 1 удалений
|
@ -502,7 +502,13 @@ func pointerTo(t *rawType) *rawType {
|
|||
|
||||
func (t *rawType) String() string {
|
||||
if t.isNamed() {
|
||||
return t.PkgPath() + "." + t.Name()
|
||||
path := t.PkgPath()
|
||||
slash := len(path) - 1
|
||||
for slash >= 0 && path[slash] != '/' {
|
||||
slash--
|
||||
}
|
||||
shortened := path[slash+1:]
|
||||
return shortened + "." + t.Name()
|
||||
}
|
||||
|
||||
switch t.Kind() {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package reflect_test
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
. "reflect"
|
||||
"sort"
|
||||
"testing"
|
||||
|
@ -264,6 +265,11 @@ func TestNamedTypes(t *testing.T) {
|
|||
if got, want := ValueOf(m).String(), "<map[[4]uint16]string Value>"; got != want {
|
||||
t.Errorf("Value.String()=%v, want %v", got, want)
|
||||
}
|
||||
|
||||
if got, want := TypeOf(base64.Encoding{}).String(), "base64.Encoding"; got != want {
|
||||
t.Errorf("Type.String(base64.Encoding{})=%v, want %v", got, want)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestStruct(t *testing.T) {
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче