How in golang to remove the last letter from the string?

Nur*_*bek 2 go

Let's say I have a string called varString.

varString := "Bob,Mark,"
Run Code Online (Sandbox Code Playgroud)

问题:如何从字符串中删除最后一个字母?就我而言,它是第二个逗号。

pet*_*rSO 5

如何从字符串中删除最后一个字母?


在 Go 中,字符串是 UTF-8 编码的。Unicode UTF-8是一种可变长度的字符编码,每个 Unicode 字符(代码点)使用一到四个字节。

例如,

package main

import (
    "fmt"
    "unicode/utf8"
)

func trimLastChar(s string) string {
    r, size := utf8.DecodeLastRuneInString(s)
    if r == utf8.RuneError && (size == 0 || size == 1) {
        size = 0
    }
    return s[:len(s)-size]
}

func main() {
    s := "Bob,Mark,"
    fmt.Println(s)
    s = trimLastChar(s)
    fmt.Println(s)
}
Run Code Online (Sandbox Code Playgroud)

游乐场:https : //play.golang.org/p/qyVYrjmBoVc

输出:

Bob,Mark,
Bob,Mark
Run Code Online (Sandbox Code Playgroud)