How to Sort Characters in String in Go - Step by Step Examples



How to Sort Characters in String in Go ?

Answer

In Go, you can sort characters in a string by converting the string to a slice of runes, sorting the slice, and then converting it back to a string.



✐ Examples

1 Sort Characters in Ascending Order

In this example,

  1. We create a string named str.
  2. We convert the string to a slice of runes using []rune(str).
  3. We sort the slice of runes in ascending order using sort.Slice with a custom comparator function.
  4. We convert the sorted slice of runes back to a string using string() conversion.
  5. Finally, we print the sorted string in ascending order.

Go Program

package main

import (
	"fmt"
	"sort"
)

func main() {
	str := "hello world"
	runes := []rune(str)
	sort.Slice(runes, func(i, j int) bool {
		return runes[i] < runes[j]
	})
	sortedStr := string(runes)
	fmt.Println("Sorted string in ascending order:", sortedStr)
}

Output

Sorted string in ascending order:  dehllloorw

2 Sort Characters in Descending Order

In this example,

  1. We create a string named str.
  2. We convert the string to a slice of runes using []rune(str).
  3. We sort the slice of runes in descending order using sort.Slice with a custom comparator function.
  4. We convert the sorted slice of runes back to a string using string() conversion.
  5. Finally, we print the sorted string in descending order.

Go Program

package main

import (
	"fmt"
	"sort"
)

func main() {
	str := "hello world"
	runes := []rune(str)
	sort.Slice(runes, func(i, j int) bool {
		return runes[i] > runes[j]
	})
	sortedStr := string(runes)
	fmt.Println("Sorted string in descending order:", sortedStr)
}

Output

Sorted string in descending order: wroolllhed

Summary

In this tutorial, we learned How to Sort Characters in String in Go language with well detailed examples.




More Go Strings Tutorials

  1. How to Create an Empty String in Go ?
  2. How to get Length of String in Go ?
  3. How to get Character at Specific Index in String in Go ?
  4. How to get First Character in String in Go ?
  5. How to get Last Character in String in Go ?
  6. How to get First N Characters in String in Go ?
  7. How to get Last N Characters in String in Go ?
  8. How to get Substring after Specific Character in Go ?
  9. How to get Substring before Specific Character in Go ?
  10. How to get Substring between two Specific Characters in Go ?
  11. How to get Substring from Specific Index to End in Go ?
  12. How to Iterate over Characters in String in Go ?
  13. How to Iterate over Words in String in Go ?
  14. How to Check if String is Empty in Go ?
  15. How to Check if String contains only Alphabets in Go ?
  16. How to Check if String contains only Alphabets and Numbers in Go ?
  17. How to Check if String contains only Numeric Digits in Go ?
  18. How to Check if a String contains given Substring in Go ?
  19. How to Check if String contains specific Character in Go ?
  20. How to Check if String starts with Specific Prefix in Go ?
  21. How to Check if String ends with Specific Suffix in Go ?
  22. How to Append a String to another String in Go ?
  23. How to Append a Character to beginning of a String in Go ?
  24. How to Append a Character to end of a String in Go ?
  25. How to Concatenate Two Strings in Go ?
  26. How to Repeat a String N Times in Go ?
  27. How to Insert Character at Specific Index in String in Go ?
  28. How to Replace a Substring in String in Go ?
  29. How to Replace multiple Spaces with a Single Space in String in Go ?
  30. How to Replace Character at Specific Index in String in Go ?
  31. How to Replace All Occurrences of a Substring in a String in Go ?
  32. How to Replace a Substring in a String using Regular Expression in Go ?
  33. How to Split a String in Go ?
  34. How to Split a String by New Line in Go ?
  35. How to Split a String by Comma in Go ?
  36. How to Sort Characters in String in Go ?
  37. How to convert String to Lowercase in Go ?
  38. How to convert String to Uppercase in Go ?
  39. How to Trim a String in Go ?
  40. How to convert First Character in String to Uppercase in Go ?
  41. How to Reverse a String in Go ?
  42. How to Remove Character at specific Index in a String in Go ?
  43. How to Remove First Character in a String in Go ?
  44. How to Remove Last Character in a String in Go ?
  45. How to Remove first N Characters in a String in Go ?
  46. How to Remove last N Characters in a String in Go ?
  47. How to Remove specific Substring in Go ?
  48. How to Remove specific Character from a String in Go ?
  49. How to Remove All Whitespace Characters from a String in Go ?
  50. How to Remove Special Characters from a String in Go ?
  51. How to keep only Alphabets in a String in Go ?
  52. How to Convert Integer to String in Go ?
  53. How to Convert String to Integer in Go ?
  54. How to convert String to Float in Go ?
  55. How to convert Float to String in Go ?
  56. How to check if Two Strings are Equal in Go ?
  57. How to check if Two Strings are Equal ignoring case in Go ?
  58. How to Compare Two Strings in Go ?
  59. How to find the Characters in the First String that are not Present in the Second String in Go ?
  60. How to find the Index of Substring in Go ?
  61. How to find the Index of Last Occurrence of Substring in Go ?
  62. How to find the Indices of All Occurrences of Substring in Go ?
  63. How to get all the possible Substrings of a String in Go ?
  64. How to get all the possible K length Substrings in a String in Go ?