[過去ログ] Go language part 1 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
568: デフォルトの名無しさん [sage] 2016/06/02(木) 10:03:29.88 ID:sFcAoyCt(1/5) AAS
func later() func(string) string {
...
return func(g string) string {
...
}
}
ごめん、このクロージャの最初の部分のlater() func(string) stringってどういう意味?
関数名がlater 戻り値がstringは分かるけど、func(string)がなんでこんな場所に書かれてるのかな、と
570
(1): デフォルトの名無しさん [sage] 2016/06/02(木) 12:02:45.10 ID:sFcAoyCt(2/5) AAS
う〜ん、難しい...
572: デフォルトの名無しさん [sage] 2016/06/02(木) 15:52:21.01 ID:sFcAoyCt(3/5) AAS
>>569
569(1): デフォルトの名無しさん [sage] 2016/06/02(木) 10:16:38.46 ID:mKtftCeF(1) AAS
laterの返り値がstringを引数にとってstringを返り値とする関数という意味では?
あぁ、なるほど
ようやく今理解した

func later() [func(string) string] {
[]は見やすいようにわざと書いたけど、こういう事だね

関数laterは引数は取らずに、
返り値として「stringを引数に取り、stringを返り値として返す」
573: デフォルトの名無しさん [sage] 2016/06/02(木) 16:09:51.23 ID:sFcAoyCt(4/5) AAS
あれ、ちょっと待って

外部リンク:ideone.com

later()は引数取らないけれど、
f := later()
f("apple")
どっからstoreに"apple"なんか文字列引数が渡されてるの?
こういう型の場合、ローカル変数(ここではstore)にコンストラクタのような働きが起って自動的に引数がセットされるって事?
574: デフォルトの名無しさん [sage] 2016/06/02(木) 16:14:42.71 ID:sFcAoyCt(5/5) AAS
連投ごめん
f := late()
によって、fはlater()の返り値の関数を取得してるんだね
だから、f("apple")には上の無名関数func(string) stringが呼び出されて"apple"が引数とされているってことか
ごめん、分かった
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.233s*