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語言中的外部函式和庫函式來實現結果。

更新於:2023年2月17日

2K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告