Go语言程序:在字符串右侧填充0
在Go编程语言中,字符串是一种内置数据类型,表示字符序列。它们使用双引号(")定义,可以包含任何有效的Unicode字符。在这篇文章中,我们将编写一个Go语言程序,在字符串的右侧填充0。
方法一:使用用户自定义函数
在这种方法中,我们将创建一个外部函数。该函数接受要填充的字符串以及长度作为参数,并在其右侧添加零后返回最终字符串。
算法
步骤1 − 首先,我们需要导入fmt包。
步骤2 − 然后,我们需要创建PadRight()函数。此函数接受字符串以及它应该具有的长度作为参数。
步骤3 − 该函数然后使用while循环,在字符串的右侧添加一个零,直到字符串的长度等于初始化的长度。
步骤4 − 返回最终结果。现在开始main()函数。在main()中初始化一个字符串并向其存储一个值。然后在屏幕上打印字符串。
步骤5 − 现在,通过向其传递所需的参数来调用PadRight()函数。将函数获得的结果存储在一个新变量中。
步骤6 − 使用fmt.Println()函数在屏幕上打印字符串。
示例
在这个例子中,我们将编写一个Go语言程序,在字符串的右侧填充0。
package main
import "fmt"
//creating a function to add zeroes to a string
func PadRight(str string, length int) string {
for len(str) < length {
str = str + "0"
}
return str
}
func main() {
// initializing a string
str := "123"
newStr := PadRight(str, 6)
fmt.Printf("The given string is: %s\n", str)
fmt.Printf("Padded string is: %s\n", newStr)
}
输出
The given string is: 123 Padded string is: 123000
方法二:使用内置函数
在这种方法中,我们将使用内置函数,如Repeat()、Join()、bytes.Join()和buffer包,使用编程语言在字符串的右侧填充0。
语法
func Repeat(str string, count int) string
Repeat()函数存在于strings包中,用于根据指定的整型变量创建字符串的副本。它接受两个参数,一个是需要重复的字符串,另一个是名为count的整型值。然后,该函数返回包含提供字符串的重复项的最终字符串。
func Join(s []string, sep string) string
join函数用于将数组转换为字符串。此函数存在于strings包中。它接受两个参数,第一个是我们希望转换的数组,第二个是将数组元素转换为字符串后应将其分隔开的符号,并返回最终字符串。
算法
步骤1 − 首先,我们需要导入fmt和strings包。
步骤2 − 然后,启动main()函数。在main()中初始化一个字符串变量并为其赋值。然后在屏幕上打印字符串。
步骤3 − 现在,调用strings.Repeat()函数,并将字符串以及应重复到的整数值作为参数传递给该函数。
步骤4 − 将获得的结果与上面初始化的字符串变量一起传递,并获取包含所有这些值的字符串数组。
步骤5 − 但是我们不需要字符串数组,要将此字符串数组转换回字符串,请将其作为参数传递给Join()函数,并将其与空字符串连接。
步骤6 − 将结果存储在一个变量中,并使用fmt.Println()函数在屏幕上打印它。
示例1
在这个例子中,我们将使用Repeat()和Join()在字符串的右侧填充0。
package main
import (
"fmt"
"strings"
)
func main() {
// initializing a string
var str string = "123"
var newStr string = strings.Join([]string{str, strings.Repeat("0", 6-len(str))}, "")
fmt.Printf("The given string is: %s\n", str)
fmt.Printf("Padded string is: %s\n", newStr)
}
输出
The given string is: 123 Padded string is: 123000
示例2
在这个例子中,我们将使用buffer包在字符串的右侧填充0。
package main
import (
"bytes"
"fmt"
"strings"
)
func main() {
var s string = "123"
fmt.Println("The given string is:\n", s)
var buffer bytes.Buffer
buffer.WriteString(s)
buffer.WriteString(strings.Repeat("0", 5-len(s)))
var padded string = buffer.String()
fmt.Println()
fmt.Println("Padded string is:\n", padded)
}
输出
The given string is: 123 Padded string is: 12300
示例3
在这个例子中,我们将单独使用bytes.Join()函数在给定字符串的右侧填充零。
package main
import (
"fmt"
"strings"
)
func main() {
var s string = "hello"
fmt.Println("The given string is:\n", s)
var padded string = s + strings.Repeat("0", 10-len(s))
fmt.Println()
fmt.Println("Padded string is:\n", padded)
}
输出
The given string is: hello Padded string is: hello00000
结论
我们已经成功编译并执行了一个Go语言程序,该程序在右侧用0填充字符串,并附带示例。在这里,我们使用了Go语言中的外部函数和库函数来实现结果。
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP