Go語言程式演示字串插值


在Go程式語言中,字串插值是將表示式整合到字串字面量中的過程。當需要在字串中包含動態值以用於日誌語句、錯誤訊息和其他目的時,經常使用字串插值。在本程式中,我們將使用兩種方法來演示字串插值。第一個示例演示了`sprintf`的使用,第二個示例演示瞭如何使用`printf`執行字串插值。

方法一:使用fmt包中的sprintf

在此方法中,使用`fmt.Sprintf()`函式將變數`name`和`age`的值組合成一個字串,該函式演示了插值。這裡,字串由佔位符`%s`表示,數字由佔位符`%d`表示。讓我們透過程式碼和演算法來理解這個概念。

演算法

  • 步驟1 − 建立一個`main`包,並在程式中宣告`fmt`(格式化包),其中`main`生成可執行程式碼,`fmt`幫助格式化輸入和輸出。

  • 步驟2 − 建立一個`main`函式,並在該函式中建立變數`name`和`age`。

  • 步驟3 − 呼叫`fmt.Sprintf`函式,傳入引數`name`和`age`以及格式字串。

  • 步驟4 − `fmt.Sprintf`函式將格式字串中的佔位符替換為`name`和`age`的值,生成一個字串。

  • 步驟5 − 使用`fmt.Println`將生成的字串列印到控制檯。

  • 步驟6 − 此演算法演示了在Go中使用字串插值,它允許在執行時動態地將變數值包含在字串中。

示例

在這個示例中,我們將使用`sprintf`函式來演示字串插值。讓我們透過程式碼瞭解執行過程。

package main
import (
   "fmt"    //import fmt package
)

//create main function to execute the program
func main() {
   name := "Ritika"  //create name string
   age := 21   //create age variable 
   fmt.Println("The string interpolation can be demonstrated as:")
   message := fmt.Sprintf("Hello, my name is %s and I am %d years old", name, age) //using sprintf function combine the string  
   fmt.Println(message) //print the combined string on the console 
}

輸出

The string interpolation can be demonstrated as:
Hello, my name is Ritika and I am 21 years old

方法二:使用fmt包中的printf

在這個示例中,使用`fmt.Printf`函式將變數`name`和`age`的值列印為字串。與`fmt.Sprintf`示例一樣,格式字串“Hello, my name is %s and I am %d years old”指定了值應該如何插入到字串中。字串由佔位符`%s`表示,數字由佔位符`%d`表示。區別在於`fmt.Printf`直接將輸出字串列印到控制檯,而不是將其返回。

演算法

  • 步驟1 − 建立一個`main`包,並在程式中宣告`fmt`(格式化包),其中`main`生成可執行程式碼,`fmt`幫助格式化輸入和輸出。

  • 步驟2 − 宣告變數`name`和`age`及其相應的值。

  • 步驟3 − 呼叫`fmt.Printf`函式,提供格式字串、`name`和`age`值作為引數。

  • 步驟4 − `fmt.Printf`函式將格式字串中的佔位符替換為`name`和`age`的值,然後將生成的字串列印到控制檯。

  • 步驟5 − 此演算法使用`fmt.Printf`函式將變數的值包含在字串中,並將結果直接列印到控制檯。演示了Go中這種字串插值方法。

示例

在這個示例中,我們將使用`printf`函式來演示字串插值。讓我們看看程式碼。

package main
import (
   "fmt"   //import fmt package in the program
)

//create main function to execute the program
func main() {
   name := "Ritika"  //create a name string
   age := 21 //create an age variable
   
   fmt.Println("The interpolation of string is demonstrated as:")
   fmt.Printf("Hello, my name is %s and I am %d years old\n", name, age) //using printf function   combine the strings and print it on the console
}

輸出

The interpolation of string is demonstrated as:
Hello, my name is Ritika and I am 21 years old

結論

我們使用兩種方法執行了演示字串插值的程式。在第一種方法中,我們使用了`fmt`包中的`sprintf`函式,在第二個示例中,我們使用了`fmt`包中的`printf`函式。

更新於:2023年2月20日

3K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告