为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:在一行上堆叠多个方法调用

Golang:在一行上堆叠多个方法调用

Go
富国沪深 2022-01-04 21:01:07
开始使用 Go。我正在尝试编写一个函数,该函数将第一个名称命名然后将第二个命名为大写。为什么我不能像下面那样堆叠方法调用?(我之所以要在前面放一个 .ToLower 是因为 .Title 只将第一个字母大写,其余部分不变)package mainimport (  "fmt"  "strings")func main() {  firstName := "mElVIn"  lastName := "themelvINATor"  fmt.Println(nameCap(firstName, lastName))}func nameCap(s1, s2 string) (str1, str2 string) {  s1 = strings.ToLower(s1).Title(s1)  s2 = strings.ToUpper(s2)  return s1, s2}
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

您可以尝试执行以下操作(针对您的用例进行修改,我不完全确定您要获得的输出):


type myString string


func main() {

    firstName := "mElVIn"

    lastName := "themelvINATor"

    fmt.Println(nameCap(firstName, lastName))

}


func (s myString) Title(ss string) string {

    return strings.Title(ss)

}


func nameCap(s1, s2 string) (str1, str2 string) {

    s1 = myString(strings.ToLower(s1)).Title(s1)

    s2 = strings.ToUpper(s2)


    return s1, s2

}

FWIW,没有链接就没有错:


func nameCap(s1, s2 string) (str1, str2 string) {

    s1 = strings.ToLower(s1)

    s1 = strings.Title(s1)

    s2 = strings.ToUpper(s2)


    return s1, s2

}

GoPlay:http ://play.golang.org/p/BcJTuBRqbx


查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信