Golang program to parse multiple command-line flags

Here, we are going to learn how to parse multiple command-line flags in Golang (Go Language)?
Submitted by Nidhi, on April 12, 2021

Problem Solution:

In this program, we will pass multiple flags from the command line during program execution and then print the values of specified flags on the console screen.

Program/Source Code:

The source code to parse multiple command-line flags is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

// Golang program to parse multiple
// command-line flags

package main

import "fmt"
import "flag"

func main() {
	colorPtr := flag.String("color", "red", "a string")
	PtrInt := flag.Int("luckyNum", 786, "an int")

	fmt.Println("Default value of color: ", *colorPtr)
	fmt.Println("Default value of lucky number: ", *PtrInt)

	flag.Parse()

	fmt.Println("Value of lucky number: ", *PtrInt)
	fmt.Println("Value of color flag: ", *colorPtr)
}

Output:

$ go run hello.go -luckyNum=123 -color=green

Default value of color:  red
Default value of lucky number:  786
Value of lucky number:  123
Value of color flag:  green

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the fmt, flag packages then we can use a function related to the fmt and flag package.

In the main() function, we passed multiple flags from the command line during program execution and then parse command line flags "color", luckyNum using flag.Int(), flag.Parse() functions and printed the default and actual value of the specified flag on the console screen.

Golang Command-Line Arguments Programs »






Comments and Discussions




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.