Strings.Map. Sometimes we need to modify each character (or only some characters) in a string. A for-loop could be used, but calling the Map() function is better.
With strings.Map, we apply a character transformation to each character in a string. In the func, we can use any logic—we can do lookups, or use conditional statements.
An example. Here we use strings.Map to replace all uppercase letter "A" runes with underscores. This example shows how to apply logic to transform each rune.
And Further branches in the conditional can be used. With loops, lookup tables (with a map or slice) can be searched.
package main
import (
"fmt""strings"
)
func main() {
transform := func(r rune) rune {
// Map uppercase A to underscore.
if r == 'A' {
return '_'
}
return r
}
input := "A CAT"
fmt.Println(input)
// Use Map() to run func on each rune.
result := strings.Map(transform, input)
fmt.Println(result)
}A CAT
_ C_T
Notes, ROT13. For things like ROT13, the strings.Map function should be used. If you need to mask certain characters (like digits or spaces) strings.Map is also effective.
A summary. Using strings.Map eliminates a loop. And with fewer loops, it is possible for us to have fewer bugs. This func is a useful tool for string transformations in this language.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Oct 10, 2022 (image).