When referring to other packages, “pkg” can be either a full import path or the assumed package name of an existing import. The assumed package name is either the identifier in a renamed import or else the name assumed by goimports. (Goimports inserts renamings when that assumption is not correct, so this rule should work for essentially all Go code.) For example, if the current package imports encoding/json, then “[json.Decoder]” can be written in place of “[encoding/json.Decoder]” to link to the docs for encoding/json’s Decoder. If different source files in a package import different packages using the same name, then the shorthand is ambiguous and cannot be used.
При ссылке на другие пакеты «pkg» может быть либо полным путем импорта, либо предполагаемым именем пакета существующего импорта. Предполагаемое имя пакета — это либо идентификатор в переименованном импорте, либо имя, принятое goimports. (Goimports вставляет переименования, когда это предположение неверно, поэтому это правило должно работать практически для всего кода Go.) Например, если текущий пакет импортирует кодировку/json, то вместо «[json.Decoder]» можно написать «[json.Decoder]». [encoding/json.Decoder]” для ссылки на документацию по декодеру кодирования/json. Если разные исходные файлы в пакете импортируют разные пакеты, используя одно и то же имя, то сокращение будет неоднозначным и не может использоваться.