32 lines
730 B
Go
32 lines
730 B
Go
package cli
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func Cli() {
|
|
Args()
|
|
Flags()
|
|
}
|
|
|
|
func Args() {
|
|
fmt.Println("Program: ", os.Args[0])
|
|
fmt.Println("Args:", os.Args[1:])
|
|
}
|
|
|
|
func Flags() {
|
|
// NOTE: The flags must come before positional args or else these will take their default values
|
|
bookTypePtr := flag.String("booktype", "manga", "The type of book. Valid values are \"manga\", \"comic\", \"fiction\", \"non-fiction\".")
|
|
pagesPtr := flag.Uint64("pages", 0, "Number of pages in the book.")
|
|
var coverPath string
|
|
flag.StringVar(&coverPath, "cover", "", "Path to the cover image of the book.")
|
|
|
|
flag.Parse()
|
|
|
|
fmt.Println("Book type:", *bookTypePtr)
|
|
fmt.Println("# of Pages:", *pagesPtr)
|
|
fmt.Println("Cover path:", coverPath)
|
|
}
|