go语言圣经练习

练习 3.10: 编写一个非递归版本的comma函数,使用bytes.Buffer代替字符串链接操作。

package main

import (
	"fmt"
	"os"
	"bytes"
)

func main() {
	for i := 1; i < len(os.Args); i++ {
		fmt.Printf("%s\n", comma(os.Args[i]))
	}
}

func comma(s string) string {
	var buf bytes.Buffer
	n := len(s)
	for i := n; i > 0 ; i-- {
		buf.WriteByte(s[n-i])
		if i % 3 == 1 && i > 3 {
			buf.WriteString(",")
		}
	}
	return buf.String()
}

猜你喜欢

转载自www.cnblogs.com/on-way/p/10288398.html