نوع متغییر تابع در go

در زبان go علاوه بر متغییر ها و ساختار ها توابع را می توان به عنوان ورودی به تابع دیگر ارسال کرد برای توضیح بیشتر به مثال زیر توجه کنید:

در خط ۹ یک نوع داده از نوع تابع تعریف شده است این نوع داده به توابعی اشاره می کند که یک ورودی از نوع float64 دریافت می کند و خروجی از نوع float64 بر می گرداند.

در خط 13-22 تابع Map تعریف می شود آرگومان اول این تابع، از نوع Operator که نوع تابع است تعریف می شود این آرگومان می تواند هر تابعی با مشخصات تعریف شده در خط 9 را به عنوان ورودی دریافت کند.

خط 15 آرایه ای از نوع float64 با تعداد خانه های برابر با آرایه a ایجاد می کند.

در خط 19 تابع ارسالی به Map بر روی تک تک عناصر آرایه ورودی a، اعمال شده نتیجه در آرایه res ذخیره می شود و به عنوان خروجی برگردانده می شود.

خط 25 در تابع قدر مطلق را در متغییر op قرار می دهیم.

خط 28 تابع Map فراخوانی شده و تابع قدر مطلق و آرایه a به عنوان ورودی به آن ارسال می شود.

در خط 31 به عنوان ورودی یک تابع بی نام ایجاد کرده، این تابع هر عنصر آرایه را در ۱۰ضرب کرده به عنوان خروجی بر می گرداند. آرایه b را به عنوان ورودی به این تابع ارسال می کنیم خروجی مورد انتظار این است که همه عناصر 10 برابر شده و در آرایه c قرار گیرد.

منبع:

برای مطالعه بیشتر می توانید به آدرس زیر مراجعه کنید

https://yourbasic.org/golang/function-pointer-type-declaration/