Golang程序 将一个字符串的左边填充为0

Golang程序 将一个字符串的左边填充为0

在Go编程语言中,字符串是一种内置的数据类型,表示字符序列。它们是用双引号(”)定义的,可以包含任何有效的Unicode字符。在这篇文章中,我们将学习不同的技术,在字符串的左边填充0。

方法1:使用用户定义的函数

在这个方法中,我们将通过创建一个外部函数来实现这一目标。该函数接受要填充的字符串以及长度作为参数,并返回在其左侧添加0后的最终字符串。

算法

  • 第1步 – 首先,我们需要导入fmt包。

  • 第2步 – 然后,我们需要创建PadLeft()函数。这个函数接受字符串和它应该有的长度作为参数。

  • 第3步 – 然后该函数使用一个while循环,在字符串的左边添加一个0,直到字符串的长度等于初始化的长度。

  • 第4步– 返回最终结果。现在启动main()函数。在main()中初始化一个字符串并存储一个值。进一步在屏幕上打印这个字符串。

  • 第5步 – 现在,通过传递必要的参数,调用PadLeft()函数。将该函数得到的结果存储在一个新的变量中。

  • 第6步 – 使用fmt.Println()函数在屏幕上打印该字符串。

例子

在这个例子中,我们将写一个go语言程序来填充一个左边为0的字符串。

package main
import "fmt"

//creating a function to add zeroes to a string
func PadLeft(str string, length int) string {
   for len(str) < length {
      str = "0" + str
   }
   return str
}

func main() {
   // initializing a string
   str := "123"
   newStr := PadLeft(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: 000123

方法2:使用内建函数

在这个方法中,我们将使用内部函数,如重复和连接。这两种方法的语法解释如下

语法

func Repeat(str string, count int) string

Repeat() 函数存在于字符串包中,用于根据指定的整数变量来创建字符串的副本。它接受两个参数,一个是要被重复的字符串,另一个是名为count的整数值。然后,该函数返回最终的字符串,其中包含所提供字符串的重复。

func Join(s []string, sep string) string

join 函数用于将一个数组转换为字符串。这个函数存在于strings包中。它需要两个参数,第一个是我们希望转换的数组,第二个是数组元素转换为字符串后应该分开的分隔,并返回最后的字符串。

func TrimLeft(str, cutset string) string

TrimLeft() 函数存在于字符串包中,用于在删除一个字符串的左边的所有元素后删除该字符串。它接受两个参数。一个是要被修剪的字符串,另一个是包含应被删除的元素的子字符串。然后,该函数在执行各自的更新后返回最终的字符串。

算法

  • 第1步 – 首先,我们需要导入fmt和strings包。

  • 第2步 – 然后,启动main()函数。在main()中初始化一个字符串变量,并为其赋值。

  • 第3步 – 现在,调用strings.Repeat()函数,并将字符串和它应该被重复的整数值作为参数传给函数。

  • 第4步 – 将得到的结果与上面初始化的字符串变量一起传递,得到包含所有这些值的字符串数组。

  • 第5步– 但我们不需要字符串数组,将这个字符串数组转换为字符串,将其作为参数传给函数Join(),并将其与一个空字符串连接。

  • 第6步 – 将结果存储在一个变量中,并使用fmt.Println()函数将其打印在屏幕上。

例子1

在这篇文章中,我们将写一个go语言程序,通过使用 repeat()函数在字符串的左边填充0。

package main
import (
   "fmt"
   "strings"
)

func main() {
   // initializing a string
   var str string = "123"
   var newStr string = strings.Join([]string{strings.Repeat("0", 6-len(str)), 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: 000123

例子2

在这个例子中,我们将使用TrimLeft()函数在一个字符串的左边用0来填充一个字符串。

package main
import (
   "fmt"
   "strings"
)

func main() {
   // initializing a string
   var str string = "abc"
   var newStr string = strings.TrimLeft(fmt.Sprintf("%06s", str), " ")
   fmt.Printf("The given string is: %s\n", str)
   fmt.Printf("Padded string is: %s\n", newStr)
}

输出

The given string is: abc
Padded string is: 000abc

例子3

在这个例子中,我们将使用byte.Join()和byte.Repeat()函数,用零来填充一个给定的字符串。

package main
import (
   "bytes"
   "fmt"
)

func main() {
   // initializing a string
   var str string = "abc"

   newStr := string(bytes.Join([][]byte{bytes.Repeat([]byte("0"), 6-len(str)), []byte(str)}, []byte("")))
   fmt.Printf("The given string is: %s\n", str)
   fmt.Println("Padded string is: \n", newStr)
}

输出

The given string is: abc
Padded string is: 
 000abc

总结

我们已经成功地编译并执行了一个Golang程序,在一个字符串中填充了0,并附有实例。在这里,我们同时使用了外部函数和库函数来实现这个结果。这里我们同时使用了外部函数和库函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程