登录
首页 >  Golang >  Go问答

使用 Go 语言替换字符串中的字符

来源:stackoverflow

时间:2024-03-02 19:36:28 398浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《使用 Go 语言替换字符串中的字符》,涉及到,有需要的可以收藏一下

问题内容

我正在使用下面的脚本片段,“var1”的值返回 7d470821-a66a-5d57-b54f-2784ca96c591,现在,分配给“var1”的值,我想删除“-”,以便它变成 7d470821a66a5d57b54f2784ca96c591。我正在尝试下面的脚本

package main

import (
    "fmt"
    "strings"
    "github.com/google/uuid"
)

var namespace = uuid.namespaceurl
var value = "abc" + "hello world" + "bow"
var urls1 = []byte(value)

func main() {
    fmt.println("generating uuids\n----------------")
    generate()
}

func generate() {
    //u, _ := uuid.newuuid()
    //fmt.println("uuid version 1:", u)
    var1 := uuid.newsha1(namespace, urls1)
    fmt.println(var1 )
    var2 = strings.replace(var1, "-","",0)
    fmt.println(var2)   
}

我得到了,请帮助我纠正我的错误。

./test-uuid1.go:23:29: cannot use var1 (variable of type uuid.UUID) as string value in argument to strings.Replace

正确答案


strings.replace() 需要 string,并且 uuid.newsha1() 返回类型 uuid.uuid

调用其 uuid.string() 方法获取 string 表示。

另请注意,将 0 传递给 strings.replace() 将执行 0 次替换,因此不会发生任何更改。不太有用。传递 -1 表示您要替换所有出现的 -,或者更好的是,使用 strings .replaceall()

var2 := strings.replaceall(var1.string(), "-", "")

(注意 var2 不存在,因此必须使用 := 短变量声明 a> 而不是简单的赋值。)

这将输出(在 go playground 上尝试):

Generating UUIDs
----------------
7d470821-a66a-5d57-b54f-2784ca96c591
7d470821a66a5d57b54f2784ca96c591

本篇关于《使用 Go 语言替换字符串中的字符》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>