開始使用 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
- 1 回答
- 0 關注
- 182 瀏覽
添加回答
舉報
0/150
提交
取消
