Welcome To Golang By Example

Menu
  • Home
  • Blog
  • Contact Us
  • Support this website
Menu

Delete in a string by index in Go (Golang)

Posted on March 22, 2020March 22, 2020 by admin

In Golang string is a sequence of bytes. A string literal actually represents a UTF-8 sequence of bytes. In UTF-8, ASCII characters are single-byte corresponding to the first 128 Unicode characters. All other characters are between 1 -4 bytes. Due to this, it is not possible to index a character in a string.  In GO, rune data type represents a Unicode point.  Once a string is converted to an array of rune then it is possible to index a character in that array of rune.

You can learn more about rune here – https://vikasboss.github.io/understanding-rune-in-golang

For this reason in below program for deleting a character of a given string by index, we  are first converting a string into a rune array so that we can index the rune array and then delete the character by index

package main

import "fmt"

func main() {
    sample := "ab£c"
    s := []rune(sample)
    res := delChar(s, 2)
    fmt.Println(string(res))
}

func delChar(s []rune, index int) []rune {
    return append(s[0:index], s[index+1:]...)
}

Output:

abc
Follow @golangbyexample

Popular Articles

Golang Comprehensive Tutorial Series

All Design Patterns in Go (Golang)

Slice in golang

Variables in Go (Golang) – Complete Guide

OOP: Inheritance in GOLANG complete guide

Using Context Package in GO (Golang) – Complete Guide

All data types in Golang with examples

Understanding time and date in Go (Golang) – Complete Guide

©2025 Welcome To Golang By Example | Design: Newspaperly WordPress Theme