Hello, Adventurer! Today, we will learn about splitting and joining strings — two vital operations for processing textual data in Go. Are you ready? Let's start this journey!
In this lesson, we will use the following imports:
Go1package main 2 3import ( 4 "fmt" 5 "strings" 6)
In Go, the strings.Split
function cuts a string into several pieces based on a delimiter, which is a character that separates words. It returns a slice containing these divided parts. Look at this example:
Go1sentence := "I love programming." 2 3// Let's split it into individual words 4words := strings.Split(sentence, " ") // Now words = ["I", "love", "programming."] 5 6// Loop through each word and print 7for _, word := range words { 8 fmt.Println(word) 9} 10// Prints: 11// I 12// Love 13// Programming
Here, we have a sentence cut into separate words using the strings.Split()
function, with a space as the delimiter. The results are stored in the slice words
.
The strings.Join()
function merges a slice of strings back into a single string using a given delimiter. You can think of it as the inverse of the strings.Split()
operation. Here's how it works:
Go1// Our original words 2words := []string{"programming.", "I", "love"} 3 4// Let's join the words into a new sentence 5sentence := strings.Join(words, " ") 6 7fmt.Println(sentence) // Output: "programming. I love"
In the example given above, we took a slice of words and combined them into a single string, using a space as the delimiter.
Both strings.Split()
and strings.Join()
can be used together to manipulate texts such as rearranging sentences. Let's take "I love programming"
and rearrange it to "programming love I"
:
Go1sentence := "I love programming." 2 3// Split the sentence into words 4words := strings.Split(sentence, " ") 5 6// Swap the first and third words 7tempWord := words[0] 8words[0] = words[2] 9words[2] = tempWord 10 11// Join the words back into a sentence 12newSentence := strings.Join(words, " ") 13 14fmt.Println(newSentence) // Output: "programming. love I"
Here, we first split the sentence into words. Then, we swapped the positions of the first and last words before finally joining them back into a new sentence.
Moreover, strings.Join
is flexible — it allows you to specify all parts to join one by one:
Go1fmt.Println(strings.Join([]string{"See", "how", "you", "can", "join", "any", "number", "of", "words!"}, " ")) 2// Output: See how you can join any number of words!
It proves to be quite handy at times!
Great job, Explorer! You've learned how to split and join strings in Go using strings.Split()
and strings.Join()
. Now, you will try your hand at some exercises to reinforce your newly acquired skills. Are you ready to explore further? Let's proceed!