登录
首页 >  Golang >  Go问答

Go 字符串格式仅填充部分参数

来源:stackoverflow

时间:2024-03-30 22:27:34 427浏览 收藏

从现在开始,努力学习吧!本文《Go 字符串格式仅填充部分参数》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我有一个用于调用外部 api 的标准字符串格式。例如https://%s?client=%s&password=%s

这是请求的第一个 %s 端点,具体取决于业务逻辑。而我总是可以提前确定客户端和密码。

func getApiUrl(clientId int) string {
    urlFormat := "https://%s?client=%s&password=%s"
    clientname, clientpass := getByClientId(clientId)
    return fmt.Sprintf(urlFormat, _, clientname, clientpass) // https://%s?client=clientname&password=clientpass
}

我想写一些类似函数的东西来填充一些参数。在这种形式下,当然是行不通的。


正确答案


您可以在占位符中使用 "%s"

package main

import "fmt"

func getByClientId(clientId int) (string, string) {
    return "user", "password"
}

func getApiUrl(clientId int) string {
    urlFormat := "https://%s?client=%s&password=%s"
    clientname, clientpass := getByClientId(clientId)
    return fmt.Sprintf(urlFormat, "%s", clientname, clientpass) // https://%s?client=clientname&password=clientpass
}

func main() {
    userPasswordFilled := getApiUrl(3)
    fmt.Println(fmt.Sprintf(userPasswordFilled, "example.com"))
}

Go Playground

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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