Skip to main content

Basic CLI Application Using Golang

Writing a Basic CLI Application Using Go

Go is a great language for building command-line tools due to its simplicity and powerful standard library. In this article, we will go through how to create a simple CLI app in Go that accepts commands and flags from the user.

Step 1: Install Go

Before you start, ensure that Go is installed on your machine. You can download it from here. Once installed, verify by running:

go version

Step 2: Set Up Your Project

Create a new folder for your project and navigate into it:

mkdir cli-app
cd cli-app

Step 3: Write Your CLI App

In your project folder, create a file called main.go. This is where we'll write our CLI code.


package main

import (
    "flag"
    "fmt"
    "os"
)

func main() {
    name := flag.String("name", "World", "a name to say hello to")
    flag.Parse()

    if len(os.Args) < 2 {
        fmt.Println("Usage: go run main.go --name [your name]")
        os.Exit(1)
    }

    fmt.Printf("Hello, %s!\n", *name)
}

Step 4: Run the Application

You can now run your CLI app by using the following command:

go run main.go --name=John

This will output:

Hello, John!

If you omit the --name flag, it will default to:

Hello, World!

Step 5: Add More Functionality

You can add more flags to extend your CLI tool. For example, to add a flag for age:

age := flag.Int("age", 0, "your age")

Then use it in the output:

fmt.Printf("Hello, %s! You are %d years old.\n", *name, *age)

This simple guide demonstrates how easy it is to build a basic CLI application using Go. By using Go's flag package, you can create commands and flags to handle user input efficiently. With more advanced packages, you can build even more powerful CLI tools.

Comments

Popular posts from this blog

Image Search Engine Using Python

Images provide a lot more information than audio or text. Image processing is the prime field of research for robotics as well as search engines. In this article we will explore the concept of finding similarity between digital images using python. Then we will use our program to find top 10 search results inside a dataset of images for a given picture. It won't be as good as google's search engine because of the technique we will be using to find similarity between images. But what we are going to make will be pretty cool. So lets start. Setting up the Environment Our Algorithm How the code looks Lets build the GUI Additional Techniques Setting up the Environment The code we are going to write requires a few tools which we need to install first. I will try to be as precise as i can and if you get stuck into installing some tool then you can drop a comment below and i will help you sort out the problem. So here are the tools and the steps to install ...

Understanding Python Decorators

If you have ever wondered what those @something mean above a python function or method then you are going to have your answers now. This @something line of code is actually called a decorator. I have red from various articles about them but some of them were not able to clarify the concept of a decorator and what we can achieve with them. So in this post we'll learn a lot about python decorators. Here is a list of topics we'll be covering. What is python decorator Understanding the concept Multiple decorators on same function class method decorator Where can we use decorators What is python decorator A python decorator is nothing but a function which accepts your given function as a parameter and returns a replacement function. So its like something this def decorator(your_func): def replacement(your_func_args): #do some other work return replacement @decorator your_func(your_func_args): #your_func code Now when your_func gets called then...

Cordova viewport problem solved

Include the viewport settings in Cordova If you are facing the auto zooming problem of cordova then go read on the full article. Cordova actually ignores the viewport meta tag which causes the pixel density problem. So we need to tell cordova that viewport tag is equally important as other tags. To do this, we need to add some code to a file which is specify in the article. Corodva messes with pixels If you are using the latest cordova version or creating the cordova app for latest android versions then you may have faced the zoom malfunctioning.I also faced it when creating an app. Many of you may have already searched the web and found the answer of changing the meta tag attributes to get it working. But adding target-densitydpi=medium-dpi does not solve the problem for latest android versions. It may work for gingerbread but not for kitkat and others. So the final solution which i found was one of the stackexchange answer but rarely found. So i am gonna two things here, i ...