How to copy a string in Go

7 Answers

0 votes
// Copy using simple assignment

package main

import "fmt"

func main() {
    src := "Programming is fun"
    dest := src // Same reference

    fmt.Println(dest)
}


/*
run:

Programming is fun

*/

 



answered 2 days ago by avibootz
0 votes
// Copy using slicing

package main

import "fmt"

func main() {
    src := "Programming is fun"
    dest := src[:]

    fmt.Println(dest)
}



/*
run:

Programming is fun

*/

 



answered 2 days ago by avibootz
0 votes
// Copy using fmt.Sprintf

package main

import "fmt"

func main() {
    src := "Programming is fun"
    dest := fmt.Sprintf("%s", src)

    fmt.Println(dest)
}



/*
run:

Programming is fun

*/

 



answered 2 days ago by avibootz
0 votes
// Copy using strings.Builder

package main

import (
    "fmt"
    "strings"
)

func main() {
    src := "Programming is fun"
    var builder strings.Builder

    builder.WriteString(src)
    dest := builder.String()

    fmt.Println(dest)
}



/*
run:

Programming is fun

*/

 



answered 2 days ago by avibootz
0 votes
// Copy using byte slice conversion

package main

import "fmt"

func main() {
    src := "Programming is fun"
    bytes := []byte(src)
    dest := string(bytes)

    fmt.Println(dest)
}



/*
run:

Programming is fun

*/

 



answered 2 days ago by avibootz
0 votes
// Copy using rune slice conversion

package main

import "fmt"

func main() {
    src := "Programming is fun"
    runes := []rune(src)
    dest := string(runes)

    fmt.Println(dest)
}



/*
run:

Programming is fun

*/

 



answered 2 days ago by avibootz
0 votes
// Copy using manual loop

package main

import "fmt"

func main() {
    src := "Programming is fun"
    destRunes := make([]rune, 0, len(src))

    for _, r := range src {
        destRunes = append(destRunes, r)
    }

    dest := string(destRunes)
    fmt.Println(dest)
}



/*
run:

Programming is fun

*/

 



answered 2 days ago by avibootz

Related questions

6 answers 19 views
7 answers 19 views
8 answers 27 views
8 answers 24 views
11 answers 26 views
...