を理解することはできません、私はこのようないくつかのコードが見つかりました:は「ネット」いくつかのゴーコード
// first returns the first address which satisfies strategy, or if
// none do, then the first address of any kind.
func (addrs addrList) first(strategy func(Addr) bool) Addr {
for _, addr := range addrs {
if strategy(addr) {
return addr
}
}
return addrs[0]
}
私はfuncが最初にFUNCという名前の別のFUNCを含んでいる理由については本当に混乱しています(Addr)、そしてこのコードはコメントが言う動作をどのように実装していますか?
func(Addr)boolは、_strategy_の** type **です。したがって、引数 "strategy"は、型_Addr_を取ってtrueまたはfalseを返す関数でなければなりません。 –
なので、確かめたいのは、func(Addr)boolは "string"や "int"のような型ですか?どのようにしてこのfuncは戦略を満足する最初のアドレスを返しますか? – user8645601