string in Go



In this tutorial, we will learn about the string data type in Go. We will cover the basics of defining and using string values, including how to manipulate strings and perform common operations.


Understanding the String Data Type in Go

The string data type in Go is used to represent a sequence of characters. Strings are immutable, meaning that once a string is created, its content cannot be changed.


Defining a String Variable

String variables in Go can be defined using the var keyword or by type inference.

var s1 string = "Hello, Go!"
s2 := "Welcome to Go programming"

String Concatenation

Strings in Go can be concatenated using the + operator.

s3 := s1 + " " + s2

Accessing String Characters

Characters in a string can be accessed using index notation.

char := s1[0]

Iterating Over a String

Strings can be iterated over using a for loop with a range clause.

for i, c := range s1 {
    fmt.Printf("Index: %d, Character: %c\n", i, c)
}


Example 1: Defining and using String Variables

We can define and use string variables in Go to represent sequences of characters.

For example,

  1. Define a string variable named s1 and assign it a value.
  2. Define another string variable named s2 using type inference and assign it a value.
  3. Print the values of both string variables to the console.

Go Program

package main
import "fmt"
func main() {
    var s1 string = "Hello, Go!"
    s2 := "Welcome to Go programming"
    fmt.Println(s1)
    fmt.Println(s2)
}

Output

Hello, Go!
Welcome to Go programming


Example 2: String Concatenation

We can concatenate strings in Go using the + operator.

For example,

  1. Define two string variables named s1 and s2 with different values.
  2. Concatenate these strings using the + operator.
  3. Print the concatenated string to the console.

Go Program

package main
import "fmt"
func main() {
    s1 := "Hello,"
    s2 := " Go!"
    s3 := s1 + s2
    fmt.Println(s3)
}

Output

Hello, Go!


Example 3: Accessing String Characters

We can access individual characters in a string using index notation.

For example,

  1. Define a string variable named s and assign it a value.
  2. Access and print the first character of the string using index notation.

Go Program

package main
import "fmt"
func main() {
    s := "Hello"
    char := s[0]
    fmt.Printf("The first character is: %c\n", char)
}

Output

The first character is: H


Example 4: Iterating Over a String

We can iterate over the characters in a string using a for loop with a range clause.

For example,

  1. Define a string variable named s and assign it a value.
  2. Use a for loop with a range clause to iterate over the string.
  3. Print the index and character of each iteration to the console.

Go Program

package main
import "fmt"
func main() {
    s := "Hello, Go!"
    for i, c := range s {
        fmt.Printf("Index: %d, Character: %c\n", i, c)
    }
}

Output

Index: 0, Character: H
Index: 1, Character: e
Index: 2, Character: l
Index: 3, Character: l
Index: 4, Character: o
Index: 5, Character: ,
Index: 6, Character:  
Index: 7, Character: G
Index: 8, Character: o
Index: 9, Character: !


Example 5: String Length

We can get the length of a string in Go using the len function.

For example,

  1. Define a string variable named s and assign it a value.
  2. Use the len function to get the length of the string.
  3. Print the length of the string to the console.

Go Program

package main
import "fmt"
func main() {
    s := "Hello, Go!"
    length := len(s)
    fmt.Printf("The length of the string is: %d\n", length)
}

Output

The length of the string is: 10