Open2
goリポジトリ内のmapの命名例
netパッケージ内の型名
// A Header represents the key-value pairs in an HTTP header.
//
// The keys should be in canonical form, as returned by
// CanonicalHeaderKey.
type Header map[string][]string
単数形。
コメントでキーとバリューのペアであることを説明。
またキーのフォーマットのルールもコメントで補足。
// Values maps a string key to a list of values.
// It is typically used for query parameters and form values.
// Unlike in the http.Header map, the keys in a Values map
// are case-sensitive.
type Values map[string][]string
コメントでマップ構造であることが説明されている。
キーがcase-sensitiveであることがコメントにある。
type fakeFS map[string]*fakeFileInfo
単数形?
コメントなし。unexportedだからか。
type stats map[Cookie]*Stat
複数形?
こちらもコメントなし。
// Sockets maps a socket descriptor to the status of socket.
type Sockets map[int]Status
複数形。
コメントでxxx
to xxx
という言い方をしている。
// A Header represents the key-value pairs in a mail message header.
type Header map[string][]string
「メールメッセージヘッダー」におけるキー・バリューペアとだけ言っている。
キーが何かはそこから察するということか。
単数形。
// A MIMEHeader represents a MIME-style header mapping
// keys to sets of values.
type MIMEHeader map[string][]string
単数形。
MIMEスタイルのヘッダーマッピングという言い方でマップであることを言っている。
netパッケージ内のフィールド名
var hosts struct {
// Key for the list of literal IP addresses must be a host
// name. It would be part of DNS labels, a FQDN or an absolute
// FQDN.
// For now the key is converted to lower case for convenience.
byName map[string][]string
// Key for the list of host names must be a literal IP address
// including IPv6 address with zone identifier.
// We don't support old-classful IP address notation.
byAddr map[string][]string
}
type http2clientConnPool struct {
conns map[string][]*http2ClientConn // key is host:port
dialing map[string]*http2dialCall // currently in-flight dials
keys map[*http2ClientConn][]string
addConnCalls map[string]*http2addConnCall // in-flight addConnIfNeeded calls
}
値の型の複数形を付けている感じ。
キーが何を表すかはコメントで補足している。
type Response struct {
// Header maps header keys to values. If the response had multiple
// headers with the same key, they may be concatenated, with comma
// delimiters. (RFC 7230, section 3.2.2 requires that multiple headers
// be semantically equivalent to a comma-delimited sequence.) When
// Header values are duplicated by other fields in this struct (e.g.,
// ContentLength, TransferEncoding, Trailer), the field values are
// authoritative.
//
// Keys in the map are canonicalized (see CanonicalHeaderKey).
Header Header
コメントでmapであることを説明している。
type Transport struct {
idleConn map[connectMethodKey][]*persistConn // most recently used at end
idleConnWait map[connectMethodKey]wantConnQueue // waiting getConns