go - 在 Golang 中是否有嵌入的 strings.Repeat ("0", 3) (检测前导零的数量)?

标签 go

我有以 0 开头的字符串。需要获得前导零的数量: 像这样的东西:

func LeadZeros(num string) int{
    // count the leading zeros
    return leadZerosNumber
}

LeadZeros("0012") --> 2
LeadZeros("5")    --> 0
LeadZeros("05")   --> 1
LeadZeros("0")    --> 0 (1 also good)
LeadZeros("00")   --> 1 (2 also good)

寻找嵌入在 go 中的东西(或非常短的格式)

例如,对于写作,有:strings.Repeat("0", 3)

最佳答案

func LeadZeros(num string) int {

    i := 0
    for ;i < len(num) && num[i] == '0'; i++ {
    }

    return i
}

有很多方法可以做到这一点,我会推荐最容易理解的方法。这是另一个单行:

func LeadZeros(num string) int {
    return len(num) - len(strings.TrimLeft(num, "0"))
}

关于go - 在 Golang 中是否有嵌入的 strings.Repeat ("0", 3) (检测前导零的数量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53045384/

相关文章:

Go 找不到我的本地包

go - go-routines的协调和优雅的关闭

go - 为什么在 Go 类型开关中声明一个单独的变量?

go - 为什么在 Go 中使用 "redundant"关键字 "struct"作为类型?

mongodb - 使用 Mongodb 导入时出现问题 : fatal error: MSpanList_Insert

multithreading - goroutine 多次使用同一行

Go 语言不能在返回参数中使用 r(类型 *mux.Router)作为类型 *mux.Route

string - uint8到文字字符串表示形式

go - 执行 UnmarshalExtJSON 时读取数组的无效请求

json - 仅解码已批准的字段