返回顶部
首页 > 资讯 > 后端开发 > GO >如何改进golang中的分割逻辑
  • 916
分享到

如何改进golang中的分割逻辑

2024-02-09 10:02:34 916人浏览 独家记忆
摘要

在golang中,分割字符串是一个常见的操作,然而,有时候我们可能会遇到一些分割逻辑上的问题。那么,如何改进Golang中的分割逻辑呢?在本文中,PHP小编鱼仔将为您介绍一些实用的技巧

golang中,分割字符串是一个常见的操作,然而,有时候我们可能会遇到一些分割逻辑上的问题。那么,如何改进Golang中的分割逻辑呢?在本文中,PHP小编鱼仔将为您介绍一些实用的技巧和方法,帮助您优化和改进golang中的分割逻辑,让您的代码更加高效和可靠。让我们一起来探索吧!

问题内容

将以下示例作为索引中的可能值:

values := [5]string{"32.5ms", "32.5 ms", "32.5%", "32.5 %", "none"}

请注意,原始值可能带有空格,也可能不带有度量单位的空格(32.5%、32.5 %、32.5 % 等)

我需要从原始值中分离出浮点值测量单位(%、ms等),如下代码,得到我想要的结果,但我想知道是否有更干净的方法来执行相同的逻辑,也许不需要正则表达式

package main

import (
    "fmt"
    "regexp"
    "strings"
)

func main() {

    regexFloatNumbers := regexp.MustCompile(`[-]?\d[\d,]*[\.]?[\d{2}]*`)

    values := [5]string{"32.5ms", "32.5 ms", "32.5%", "32.5 %", "none"}

    for _, value := range values {

        if regexFloatNumbers.MatchString(value) {
            floatValue := regexFloatNumbers.FindString(value)
            fmt.Printf("ORIGINAL VALUE: %q\n", value)
            fmt.Printf("UNIT: %q\n", strings.TrimSpace(regexFloatNumbers.Split(value, -1)[1]))
            fmt.Printf("FLOAT VALUE: %v\n\n", floatValue)
        } else {
            fmt.Printf("float value for %v has not being found!", value)
        }

    }

}

解决方法

正则表达式似乎很适合这里。就我个人而言,我会为此使用子组,就像这样(我还清理了你的正则表达式,其中有一些不必要的语法,并且看起来像是 [\d{2}]* 的拼写错误):

regexFloatNumbers := regexp.MustCompile(`(-?\d[\d,]*\.?\d*) *(.*)`)

// ...

floatValue := regexFloatNumbers.FindStringSubmatch(value)
fmt.Printf("ORIGINAL VALUE: %q\n", value)
fmt.Printf("UNIT: %q\n", floatValue[1])
fmt.Printf("FLOAT VALUE: %v\n\n", floatValue[2])

https://www.php.cn/link/8af0c75579a632c9207e51657de43c7c

以上就是如何改进golang中的分割逻辑的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: 如何改进golang中的分割逻辑

本文链接: https://lsjlt.com/news/562373.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何改进golang中的分割逻辑
    在golang中,分割字符串是一个常见的操作,然而,有时候我们可能会遇到一些分割逻辑上的问题。那么,如何改进golang中的分割逻辑呢?在本文中,php小编鱼仔将为您介绍一些实用的技巧...
    99+
    2024-02-09
  • oracle中如何改写exists降低逻辑读
    这篇文章主要介绍oracle中如何改写exists降低逻辑读,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!通过将exists改写成in或这inner join优化sql。Sql_id...
    99+
    2024-04-02
  • Golang如何实现单元测试中的逻辑层
    本篇内容介绍了“Golang如何实现单元测试中的逻辑层”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!准备工作安装 go insta...
    99+
    2023-07-05
  • 如何进行逻辑思维Go语言微服务改造
    如何进行逻辑思维Go语言微服务改造,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.改造的背景得到最早的APP就是一个单体的PHP的应用,...
    99+
    2024-04-02
  • 如何分析Java 逻辑控制
    今天就跟大家聊聊有关如何分析Java 逻辑控制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。顺序结构顺序结构就是按照代码从上往下执行,我们运行的程序就是从上往下的顺序结构,当遇到方法...
    99+
    2023-06-25
  • R语言中如何进行多元逻辑回归
    小编给大家分享一下R语言中如何进行多元逻辑回归,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何进行多元逻辑回归可以使用阶梯函数通过逐步过程确定多元逻辑回归。此函数选择模型以最小化AIC。通常建议不要盲目地遵循逐步程序,而...
    99+
    2023-06-08
  • Golang实现单元测试中的逻辑层
    目录准备工作基本 case 代码生成 mock 接口编写单元测试优化mockgen总结前面我们完成了最麻烦的数据层的单元测试,今天我们来看看单元测试中最容易做的一层,数据逻辑层,也就...
    99+
    2023-03-10
    Golang单元测试 逻辑层 Golang单元测试 Go 单元测试
  • 《数据库垂直分割背后的逻辑:拆分智慧,化繁为简》
    : 数据库垂直分割是一种优化数据库性能和可扩展性的技术,它将表中的数据按照不同的逻辑主题或功能拆分成多个独立的表,从而减少数据冗余,提高查询效率。 垂直分割的优点主要体现在以下几个方面: 减少数据冗余:通过将表中的数据拆分成多个独立的表...
    99+
    2024-02-13
    :数据库 垂直分割 数据冗余 查询效率
  • Fluent Mybatis如何做到代码逻辑和sql逻辑的合一
    使用fluent mybatis可以不用写具体的xml文件,通过java api可以构造出比较复杂的业务sql语句,做到代码逻辑和sql逻辑的合一。不再需要在Dao中组装查询或更新操...
    99+
    2024-04-02
  • 使用Facade模式对Golang中的复杂逻辑进行优雅封装
    Golang作为一种现代化的编程语言,注重简洁、高效。它提供了很多强大的特性和工具,使得开发者能够更加轻松地构建复杂的应用程序。在实际开发过程中,经常会遇到一些复杂的逻辑,而我们希望能够将这些逻辑进行封装,使得外部调用更加简单和优雅。这时,...
    99+
    2023-12-20
    Golang 封装 Facade
  • MySQL中如何实现循环逻辑
    在MySQL中,可以使用存储过程来实现循环逻辑。存储过程是一组预先编译好的SQL语句,可以被多次调用并执行。在存储过程中,可以使用循...
    99+
    2024-04-30
    MySQL
  • MySQL中逻辑查询的示例分析
    这篇文章主要介绍了MySQL中逻辑查询的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在MySQL中,查询是用于构建DELET...
    99+
    2024-04-02
  • Java中逻辑结构的示例分析
    这篇文章主要介绍Java中逻辑结构的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java中的逻辑结构逻辑结构 Java中的逻辑结构 顺序结构分支结构循环结构顺序结构顺序结构顾名思义,就是按照代码的顺序依次往...
    99+
    2023-06-14
  • Java中逻辑控制的示例分析
    这篇文章将为大家详细讲解有关Java中逻辑控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、逻辑控制语句1. 顺序结构像我们写的代码,执行时会按照从上到下一行一行的执行。这就是顺序结构,不同...
    99+
    2023-06-20
  • Bash中的逻辑和(&)该如何理解
    本篇文章为大家展示了Bash中的逻辑和(&)该如何理解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在 Bash 中,你可以使用 & 作为 AND(逻辑和)操作符。有人可能会认为两篇...
    99+
    2023-06-16
  • Innodb中insert第一次进行乐观插入逻辑分析
    这篇文章主要讲解了“Innodb中insert第一次进行乐观插入逻辑分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Innodb中insert第一次进行乐...
    99+
    2024-04-02
  • PHP中的逻辑错误是如何产生的?
    PHP中的逻辑错误是如何产生的?作为一门流行的Web开发语言,PHP在编写网站和应用程序时非常常见。然而,虽然PHP是一种相对简单易学的语言,但在编码过程中仍然容易出现各种逻辑错误。本文将探讨PHP中逻辑错误的产生原因,并提供一些具体的代码...
    99+
    2023-12-09
    PHP逻辑错误 错误产生原因 编程逻辑问题
  • 如何在JavaScript中优化逻辑判断
    如何在JavaScript中优化逻辑判断?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。嵌套层级优化function supply(fruit, quan...
    99+
    2023-06-15
  • PHP中逻辑运算符如何使用
    本篇文章给大家分享的是有关PHP中逻辑运算符如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.字符串运算符例子:<php $a="Hello&...
    99+
    2023-06-17
  • PostgreSQL中query_planner函数的处理逻辑分析
    这篇文章主要介绍“PostgreSQL中query_planner函数的处理逻辑分析”,在日常操作中,相信很多人在PostgreSQL中query_planner函数的处理逻辑分析问题上存在疑惑,小编查阅了...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作