argsv.go(Command line argument parser)

I got interested in GO programming language and to learn it, I started working on this project.

Example

package main

import (
	"fmt"
	"os"
)

var command = "?,/?,h,-h,/h,help,-help,--help(Displays help screen)#v,-v,/v,version,-version,--version(Displays version number)#d,-d,/d,dir,--dir(List files)"

func main() {

	list := LinkedList{0, nil, nil}
	obj := Parser{command, defaultIndex}
	obj.parser()

	for i := defaultIndex; i <= len(os.Args[1:]); i++ {
		for j := defaultIndex; j <= int(obj.getN()); j++ {
			for k := defaultIndex; k <= int(obj.getNOptions(uint32(j))); k++ {
				if os.Args[i] == obj.getNthCommandNthOption(uint32(j), uint32(k)) {
					list.append(uint32(i), uint32(j), uint32(k))
				}
			}
		}
	}	
	list.update()

	ll := list.find("d", obj)
	if ll.length > 0 {
		fmt.Println("Found...", ll.length)
		node := ll.head
		for i := uint32(0); i < uint32(ll.length); i++ {
			fmt.Println(node.i, " ", node.c, " ", node.o, " ", node.n)
			node = node.next
		}
	} else {
		fmt.Println("Not found...")
	}
}

GitHub

View Github