Thread Findet goto in der modernen Programmierung noch Verwendung?
(13 answers)
Opened by roooot at 2010-11-23 23:32
Ich benutze das meist auch als Funktionsaufruf. Aber bei goto hat man aber noch den schönen "Vorteil", dass caller die Sub überspringt, wenn in ihr mit goto zu einer anderen gegangen wird.
Nebenbei: Ein kleines Benchmark: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 #!/usr/bin/perl use strict; use warnings; use Benchmark qw(cmpthese); my %case=( a => sub{ return 1*shift; }, b => sub{ return 2*shift; }, c => sub{ return 3*shift; }, d => sub{ return 4*shift; }, ); *my_a=$case{a}; *my_b=$case{b}; *my_c=$case{c}; *my_d=$case{d}; sub rstr{ return chr(int(rand(4))+97) } sub gto { goto $case{rstr()}; } sub rcl { $case{rstr()}->(@_); } sub als { my $f=rstr(); $f eq 'a' and return my_a(@_); $f eq 'b' and return my_b(@_); $f eq 'c' and return my_c(@_); $f eq 'd' and return my_d(@_); } cmpthese(1000000, { 'goto' => sub{ gto(55); }, 'refcall' => sub{ rcl(55); }, 'alias' => sub{ als(55); }, }); Code: (dl
)
1 Rate alias refcall goto Last edited: 2010-11-24 02:27:45 +0100 (CET) |