Check If a String is a Valid URL in Golang

Kiran Kumar Panigrahi
Updated on 01-Nov-2021 07:41:23

5K+ Views

There are cases where we would want to know if the URL that we got from an http request in the form of a string is even valid or not. In such cases, one can use two functions that the net/url package of Go's standard library provides.Example 1The first basic case is to check if the URL is well structured and a valid one, and for that, we can use the ParseRequestURI() function of the URL package.Consider the code shown below.package main import (    "fmt"    "net/url" ) func main() {    u, err := url.ParseRequestURI("http://golangcode.com")   ... Read More

Replace 0 with NA in an R Matrix

Nizamuddin Siddiqui
Updated on 01-Nov-2021 07:39:43

3K+ Views

To replace 0 with NA in an R matrix, we can use subsetting with single square brackets and then set zeros to NA.For Example, if we have a matrix called M that contains some zeros then we can replace 0 with NA by using the command mentioned below −M[M==0]

What are WaitGroups in Golang

Kiran Kumar Panigrahi
Updated on 01-Nov-2021 07:36:26

227 Views

There may be instances in Golang where the execution of different goroutines may cause unexpected behaviour. In such cases, we want to make sure that certain goroutines work in a predefined manner and the program waits for all goroutines that are launched from the main function to wait. To do that, we use of WaitGroups.WaitGroups allow us to tackle the problem mentioned above as they block the code until any goroutines within the WaitGroup has been successfully executed.A WaitGroup has three exported methods that we make use of. These are −Add(int) – Increases the counter.Wait() – Blocks the execution until ... Read More

Use Mutex in Golang

Kiran Kumar Panigrahi
Updated on 01-Nov-2021 07:33:12

440 Views

In order to understand why mutex in Go play a significant role to write better and accurate concurrent programs, we must first be aware of the concept called Race Conditions. Let's first understand what Race conditions are and how we can write a concurrent program that features a race condition and how we can then introduce mutex in that program to make it accurate.Race ConditionA race condition is a condition in which multiple goroutines are trying to access and modify the same resource. It could be the case that one goroutines is trying to increase a value of a particular ... Read More

Use Tickers in Golang

Kiran Kumar Panigrahi
Updated on 01-Nov-2021 07:28:20

7K+ Views

There are often cases where we would want to perform a particular task after a specific interval of time repeatedly. In Golang, we achieve this with the help of tickers.We can use them with goroutines as well so that we can run these tasks in the background of our application without breaking the flow of the application.The function that we use in tickers is the NewTicker() function which takes time as an argument and we can supply seconds and even milliseconds in it.Example 1The following example demonstrates how we can use a ticker in Golang. Consider the code shown below.package ... Read More

Use Reflection in Golang

Kiran Kumar Panigrahi
Updated on 01-Nov-2021 07:24:26

614 Views

Reflection in Golang is about getting to know the data types of the data that we are dealing with at runtime. There are often certain scenarios where we would want to know the data type of a certain variable that we are getting at runtime or something similar.With the help of reflection, we can extract the type, values and kind of any data type in Golang.In this article, we will explore different third-party functions that are used in reflection.Example 1 – reflect.TypeOf()It is used to return the value of type reflect. In simple words, it is used to know what ... Read More

Handle Signals in Golang

Kiran Kumar Panigrahi
Updated on 01-Nov-2021 07:21:04

1K+ Views

Before discussing signals and how to handle them, let's talk about a common scenario of creating a signal. A signal can be passed from the terminal, by either terminating the program with the help of CTRL+C or we can by default call the Exit() function that the os package provides us with.Example 1Let's consider an example where we will call the os.Exit() function just after a function declaration that has been deferred.Consider the code shown below.package main import (    "fmt"    "os"    "time" ) func main() {    defer func() {       fmt.Println("Inside the ... Read More

Use Timeouts in Golang

Kiran Kumar Panigrahi
Updated on 01-Nov-2021 07:16:42

3K+ Views

Timeouts play an important role when we don't want to wait for the output for some goroutines that are taking more time than what they should take. It should be noted that Go directly doesn't support timeouts, but we can implement them without any difficulty.Let's suppose we have a case where we want to receive some value from a channel ch, but we don't want to wait for more than 3 seconds for the value to arrive. If we get the output after the required 3 seconds, then we want to discard it and print a different message instead of waiting for ... Read More

Find Column Number with Largest Value for Each Row in R Matrix

Nizamuddin Siddiqui
Updated on 01-Nov-2021 07:11:25

505 Views

To check which column has the largest value for each row in an R matrix, we can use apply function.For Example, if we have a matrix called M then we can find column that has the largest value for each row by using the command given below −apply(M,1,which.max)Example 1Consider the matrix given below −M1

Empty Slice vs Nil Slice in Golang

Kiran Kumar Panigrahi
Updated on 01-Nov-2021 07:10:52

1K+ Views

In this article, we will see the differences and similarities that are there between a slice that is declared as an empty and a nil slice.Slices in Golang are used to store a sequence of elements. Slices can be expanded at any time and they are declared in the same way as an array, but without their capacity defined.Nil SliceA nil slice is a slice in which while declaring, we simply define the name and the data type and not make use of the built-in make function.A nil slice is a slice that has nil as its zero value and ... Read More

Advertisements