C# Concept Java Swift PHP Perl Kotlin Python Ruby JavaScript Go Storable in Variable Storable in Dictionary
Func Function<T, R> () -> T fn() => T sub { … } (T) -> R lambda or def -> { … } () => T func() T Yes Yes (Map<String, Function<T,R>>)
Action Consumer () -> Void fn() { } sub { … } (T) -> Unit lambda or def -> { … } () => { … } func(T) Yes Yes (Map<String, Consumer>)
delegate Custom interface or lambda typealias or closures Callable &function_name typealias + function def or lambda Proc.new or lambda function name or lambda type MyFunc func() T Yes Yes (map[string]MyFunc)