голанг

Golang Strings

Golang Strings

Strings package in Golang

Overview

In this lesson on String package in Golang, we will study various examples on managing Strings and see how Strings package helps us in regards to Strings Handling in Go programming language. We will get started now.

Starting with Go

Just to make sure we are on the right track of running Go programs, here is the directory structure which I made for my Hello World program:

package main
import "fmt"
func main()
fmt.Printf("Hello, world.\n")

We can run the above program with following command:

go run hello.go

Once we run this command, here is the output you will see:

Now that looks good. Let's move to our main agenda.

String Handling

Let's start our journey of handling Strings in Go. We will be exploring the strings package in Go to study various examples. Let's get started.

 Comparing Strings

Comparing Strings is the most common operation done in the any programming language actually. Let's look at some code snippet now:

package main
import (
"fmt"
"strings"
)
func main()
var str1 string = "Shubham"
var str2 string = "Linux"
var str3 string = "linux"
var str4 string = "Linux"
fmt.Println(strings.Compare(str1, str2))
fmt.Println(strings.Compare(str2, str3))
fmt.Println(strings.Compare(str4, str2))

Again, we can run the above program with following command:

go run StringCompare.go

Once we run this command, here is the output you will see:

So, here is the output explained:

Containing Strings

Now, we will check if a String is a substring of another String. Let's look at some code snippet now:

package main
import (
"fmt"
"strings"
)
func main()
var mainString string = "Linux"
fmt.Println(strings.Contains(mainString, "ux"))
fmt.Println(strings.Contains(mainString, "UX"))
fmt.Println(strings.Contains(mainString, "Lin"))

Again, we can run the above program with following command:

go run StringContains.go

Once we run this command, here is the output you will see:

In this case, output is self-explanatory.

Index of Substring

We can also find the index where the given substring is found first. Let's look at some code snippet now:

package main
import (
"fmt"
"strings"
)
func main()
var mainString string = "Shubham"
var subs string = "bha"
fmt.Println(strings.Index(mainString, subs))

We can run the above program with following command:

go run StringIndex.go

Once we run this command, here is the output you will see:

Replacing part of Strings

We can replace part of Strings in Go as well. Let's look at some code snippet now:

package main
import "fmt"
import s "strings"
func main()
var mainString string = "Linux"
var toReplace string = "Li"
var newPart string = "Te"
fmt.Println(s.Replace(mainString, toReplace, newPart, -1))

In above program, we also saw a slightly different way of importing a package and assigning it an alias name. We can run the above program with following command:

go run StringReplace.go

Once we run this command, here is the output you will see:

Splitting Strings

We can even break Strings in Go by providing a common pattern which might be occurring. Here is an example:

package main
import "fmt"
import s "strings"
func main()
var mainString string = "L-i-n-u-x"
var splitter string = "-"
fmt.Println(s.Split(mainString, splitter))

We can run the above program with following command:

go run StringSplit.go

Once we run this command, here is the output you will see:

Conclusion

To study, Strings package in Go is very deep and it is never possible to get enough. Read more examples for the package and try as much as possible on your own.

HD Remastered Games для Linux, які раніше ніколи не випускали Linux
Багато розробників і видавців ігор випускають HD-ремастер старих ігор, щоб продовжити життя франшизи. Будь ласка, шанувальники просять сумісність із с...
Як використовувати AutoKey для автоматизації ігор Linux
AutoKey - це утиліта автоматизації робочого столу для Linux та X11, запрограмована на Python 3, GTK та Qt. Використовуючи його сценарії та функціональ...
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...