heya STING! /goto is usually the alternative proposed, the usual method being a string of if statements. though it doesn't serve as a general purpose example without some further consideration, there are are other ways to take advantage of some of /goto's features:

Code:
  if ($istok(1 2 3, $1, 32)) goto $1
  if ($1 != $null) {
    echo -a default!
    halt
  }
  echo -a null!
  halt  
  :1
  echo -a 1!
  halt
  :2
  echo -a 2!
  halt
  :3
  echo -a 3!
  halt


the first line, the $istok() check, is just to ensure that $1 exists in your set of selections, otherwise you'd get an error saying the label you want to goto doesn't exist. now, you can perform a little trickery by coming up with a label corresponding to a value of $1 that you never expect to have and use the following:

Code:
  var %goto = $1
  goto $1 .
  :1
  echo -a 1!
  halt
  :2
  echo -a 2!
  halt
  :3
  echo -a 3!
  halt
  :.
  echo -a null!
  halt
  :%goto
  echo -a default!
  halt


if $1 is $null then /goto %goto . becomes /goto .

if it isn't $null but isn't one of the valid selections, %goto serves as the default case

this isn't really an alternative as you requested, just something else to think about when using /goto


"The only excuse for making a useless script is that one admires it intensely" - Oscar Wilde