Someone needs to learn how to count (us "mighty C coders" can count, you should try it too):

Lets try it, ok?

[1] goto %a
[2] :1
[3] echo -a it's a one
[4] goto end
[5] :2
[6] echo -a it's a two
[7] goto end
[8] :%a
[9] echo -a I don't know what it is!
[10] :end

[1] switch (%a) {
[2] case 1:
[3] echo -a It's a one
[4] break
[5] case 2:
[6] echo -a It's a two
[7] break
[8] default:
[9] echo -a I don't know what it is
[10] }

Now for the tough part... does 10 in fact equal 10? I hope that you can see it does.

I know, it's natural for you to hate us C coders for being able to count. Maybe one day you'll be able to count up to 10, then you'll be able to see that there are the same number of lines in both of those examples, and then you won't have to hate C coders anymore!

Oh by the way, you'll see that if you don't want a default case, the goto method is longer:

goto %a
:1
echo -a it's a one
goto end
:2
echo -a it's a two
:%a
:end

as opposed to
switch (%a) {
case 1:
echo -a it's a one
break
case 2:
echo -a it's a two
}

I hope you'll be able to count the difference there?