Mastering String Operations in Go
Lesson Introduction
Welcome! Today, we're going to delve into the crucial operations associated with Strings in Go. Strings are fundamental in most programming languages as they are used for displaying and manipulating textual data. In this lesson, you'll learn about the basic string operations in Go, such as concatenation, comparison, and the use of common functions from the strings package.
Revising String Concatenation
Even though we already know what concatenation is and how it works, revisiting it strengthens our understanding! Concatenation — the process of joining items together — is a principal string operation. In Go, we achieve string concatenation by using the + operator.
package main
import "fmt"
func main() {
var hello = "Hello, "
var world = "World!"
var greeting = hello + world
fmt.Println(greeting) // "Hello, World!"
}
In this case, "Hello, " and "World!" were combined to form the string "Hello, World!".
Comparing Strings
There are often times when we need to compare strings. Fortunately, in Go, the simple comparison operators == and < work perfectly fine.
package main
import "fmt"
func main() {
var firstWord = "Hello"
var secondWord = "Hello"
var areEqual = firstWord == secondWord
fmt.Println(areEqual) // Outputs: true
}
Here, as firstWord and secondWord are equal, areEqual is true.
The < operator is used to determine if one string is alphabetically before the other.
package main
import "fmt"
func main() {
var firstWord = "Apple"
var secondWord = "Banana"
var isLess = firstWord < secondWord
fmt.Println(firstWord, "is less than", secondWord, "?", isLess) // Outputs: Apple is less than Banana? true
}
As you can see, the comparison result is true, which means that alphabetically, "Apple" comes before "Banana", because A comes before B. A string that would come before another string in the dictionary is considered less than the other. In case of a tie, Go will compare the following letter. For example, "Apple" will be less than "Application", because e is less than i. As the first four letters in the words are equal, Go compares the fifth one.
Important String Functions: len
In Go, unlike some other languages, strings do not have built-in methods. However, the Go Standard Library provides a package named strings which contains many useful string-related functions. Among them, some functions are pretty common:
len(): This function returns the number of characters in a string.
package main
import "fmt"
func main() {
var word = "Hello"
var length = len(word)
fmt.Println(length) // 5
}
Important String Functions: ToLower and ToUpper
strings.ToLower()andstrings.ToUpper(): These functions return the string either in lowercase or in uppercase, respectively.
package main
import (
"fmt"
"strings"
)
func main() {
var word = "Hello"
var lowerCaseWord = strings.ToLower(word)
var upperCaseWord = strings.ToUpper(word)
fmt.Println(lowerCaseWord) // "hello"
fmt.Println(upperCaseWord) // "HELLO"
}
Important String Functions: TrimSpace
strings.TrimSpace(): This function removes all white spaces at the beginning and the end of a string.
package main
import (
"fmt"
"strings"
)
func main() {
var sentence = " Hello, World! "
var trimmedSentence = strings.TrimSpace(sentence)
fmt.Println(trimmedSentence) // "Hello, World!"
}