Hola,
Hacía mucho que no escribía por aquí y el otro día me encontré que es que no estaba recibiendo los correos como debía, y por eso había pensado que la lista estaba en desuso.
Para el problema que comentas tienes dos posibles soluciones:
1- Parseas el argumento con una expresión regular para que te coja solo los números. Con el paquete regexp y el tipo del mismo nombre puedes hacerlo, utilizando las funciones Compile y Find, con una expresión tipo "[0-9]+"
2- La más sencilla pero menos flexible, que sería haciendo lo que comentas, hacer un slice del string obviando el último carácter. Sería tan sencillo como hacer:
arg := flag.Args(i)[:len(flag.Args(i)-1] (Coge del primer elemento hasta el penúltimo).
Un saludo,
Roberto