Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
54 lines (46 sloc) 1 KB
package cli
type Args interface {
// Get returns the nth argument, or else a blank string
Get(n int) string
// First returns the first argument, or else a blank string
First() string
// Tail returns the rest of the arguments (not the first one)
// or else an empty string slice
Tail() []string
// Len returns the length of the wrapped slice
Len() int
// Present checks if there are any arguments present
Present() bool
// Slice returns a copy of the internal slice
Slice() []string
type args []string
func (a *args) Get(n int) string {
if len(*a) > n {
return (*a)[n]
return ""
func (a *args) First() string {
return a.Get(0)
func (a *args) Tail() []string {
if a.Len() >= 2 {
tail := []string((*a)[1:])
ret := make([]string, len(tail))
copy(ret, tail)
return ret
return []string{}
func (a *args) Len() int {
return len(*a)
func (a *args) Present() bool {
return a.Len() != 0
func (a *args) Slice() []string {
ret := make([]string, len(*a))
copy(ret, *a)
return ret
You can’t perform that action at this time.