Strings in Go
Strings in Go 관련
A string in Go is a sequence of byte
values.
As we saw above, you can define a string using this syntax:
var name = "test"
It’s important to note that unlike other languages, strings are defined only using double quotes, not single quotes.
To get the length of a string, use the built-in len()
function:
len(name) //4
You can access individual characters using square brackets, passing the index of the character you want to get:
name[0] //"t" (indexes start at 0)
name[1] //"e"
You can get a portion of the string using this syntax:
name[0:2] //"te"
name[:2] //"te"
name[2:] //"st"
Using this you can create a copy of the string using:
var newstring = name[:]
You can assign a string to a new variable like this:
var first = "test"
var second = first
Strings are immutable, so you cannot update the value of a string.
Even if you assign a new value to first
using an assignment operator, the value second
is still going to be "test"
:
var first = "test"
var second = first
first = "another test"
first //"another test"
second //"test"
Strings are reference types, which means if you pass a string to a function, the reference to the string will be copied, not its value. But since strings are immutable, in this case it’s not a big difference in practice with passing an int
, for example.
You can concatenate two strings using the +
operator:
var first = "first"
var second = "second"
var word = first + " " + second //"first second"
Go provides several string utilities in the the strings
package.
We already saw how to import a package in the “Hello, World!” example.
Here’s how you can import strings
:
package main
import (
"strings"
)
And then you can use it.
For example we can use the HasPrefix()
function to see if a string starts with a specific substring:
package main
import (
"strings"
)
func main() {
strings.HasPrefix("test", "te") // true
}
You can find the full list of methods here:
Here’s a list of methods you might use frequently:
strings.ToUpper()
returns a new string, uppercasestrings.ToLower()
returns a new string, lowercasestrings.HasSuffix()
checks if a string ends with a substringstrings.HasPrefix()
checks if a string starts with a substringstrings.Contains()
checks if a string contains a substringstrings.Count()
counts how many times a substring appears in a stringstrings.Join()
used to join multiple strings and create a new onestrings.Split()
used to create an array of strings from a string, dividing the original one on a specific character, like a comma or a spacestrings.ReplaceAll()
used to replace a portion in a string and replace it with a new one