Go語言程式:將陣列轉換為字串並用指定字元連線元素


在本教程中,我們將編寫一個 Go 語言程式,將陣列轉換為字串,並用指定字元分隔它們。陣列是一種資料結構,用於在連續的記憶體位置儲存值。

方法 1:使用 Join() 函式將陣列轉換為字串

在這種方法中,我們將編寫一個 Go 語言程式,使用庫函式將陣列轉換為字串。我們將建立一個單獨的函式,該函式將要轉換的陣列作為引數,將其轉換為字串,並返回結果。

語法

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

join 函式用於將陣列轉換為字串。此函式存在於 strings 包中。它接受兩個引數,第一個是我們希望轉換的陣列,第二個是將陣列元素轉換為字串後應分隔的字元,並返回最終的字串。

func typeofobject(x interface{})

typeof() 函式用於獲取任何變數的型別。此函式存在於 reflect 包中,它接受要確定其型別的變數作為引數。然後,該函式返回指定變數的型別作為結果。

演算法

步驟 1 - 首先,我們需要匯入 fmt、strings 和 reflect 包。

步驟 2 - 然後,建立一個函式將陣列轉換為字串。此函式接受陣列作為引數,並將結果作為字串返回。

步驟 3 - 開始 main() 函式。初始化一個數組併為其賦值,並在螢幕上列印它以及變數的型別。

步驟 4 - 現在,透過將陣列作為引數傳遞給函式來呼叫該函式,並將函式返回的值儲存在一個變數中。

步驟 5 - 該函式使用 join() 庫函式執行相應的轉換。最後,我們需要使用 fmt.Println() 函式在螢幕上列印字串的值及其型別。

示例

使用 join() 函式將陣列轉換為字串的 Go 語言程式。

package main
import (
   "fmt"
   "reflect"
   "strings"
)

// function to convert an array to string
func arrayToString(arr []string) string {

   // seperating string elements with -
   return strings.Join([]string(arr), "-")
}
func main() {

   // initializing an array
   array := make([]string, 0, 3)
   array = append(array, "An", "Apple", "A", "Day", "Keeps", "Doctor", "Away")
   
   // printing array
   fmt.Println("The given array is:", array)
   fmt.Println("Its type is:", reflect.TypeOf(array))
   fmt.Println()
   result := arrayToString(array)
   fmt.Println("The value recieved is:\n", result, "\n Its type is:", reflect.TypeOf(result))
}

輸出

The given array is: [An Apple A Day Keeps Doctor Away]
Its type is: []string
The value recieved is:
   An-Apple-A-Day-Keeps-Doctor-Away
   Its type is: string

方法 2:使用 Sprint() 函式將陣列轉換為字串

在這種方法中,我們將編寫一個 Go 語言程式,使用 sprint() 函式將陣列轉換為字串。

語法

func Sprint(format string, a ...interface{}) string

此函式返回一個格式化的字串。它採用字串格式的多個引數。第一個引數應該是字串格式,後跟可變數量的引數。

func Split(str, sep string) []string

Split() 函式用於透過提供的分隔符分割字串。此函式存在於 strings 包中,它接受要分割的字串以及分隔符作為引數。然後,該函式返回最終的字串陣列作為結果。

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

join 函式用於將陣列轉換為字串。此函式存在於 strings 包中。它接受兩個引數,第一個是我們希望轉換的陣列,第二個是將陣列元素轉換為字串後應分隔的字元,並返回最終的字串。

演算法

步驟 1 - 首先,我們需要匯入 fmt、strings 和 reflect 包。

步驟 2 - 然後,建立一個函式將陣列轉換為字串。此函式接受陣列作為引數,並將結果作為字串返回。

步驟 3 - 開始 main() 函式。初始化一個數組併為其賦值,並在螢幕上列印它以及變數的型別。

步驟 4 - 現在,透過將陣列作為引數傳遞給函式來呼叫該函式,並將函式返回的值儲存在一個變數中。

步驟 5 - 該函式使用 sprint() 庫函式將陣列轉換為字串,並使用 split 函式透過指定字元分割字串變數。

步驟 6 - 最後,我們需要使用 fmt.Println() 函式在螢幕上列印字串的值及其型別。

示例

使用 sprint() 函式將陣列轉換為字串的 Go 語言程式。

package main
import (
   "fmt"
   "reflect"
   "strings"
)

// function to convert an array to string
func arrayToString(arr []string) string {
   
   // seperating string elements with -
   string := fmt.Sprint(arr)
   res := strings.Split(string, "-")
   return strings.Join(res, " ")
}
func main() {
   array := []string{"Hello", "world", "!"}
   fmt.Println("The given array is:", array)
   fmt.Println("Its type is:", reflect.TypeOf(array))
   fmt.Println()
   result := arrayToString(array)
   fmt.Println("The value recieved is:\n", result, "\n Its type is:", reflect.TypeOf(result))
}

輸出

The given array is: [Hello world !]
Its type is: []string
The value recieved is:
   [Hello world !]
   Its type is: string

結論

我們已成功編譯並執行了一個 Go 語言程式,用於將陣列轉換為字串,並將字串的元素用指定字元連線在一起。在本例中,我們使用了兩個程式。在第一個程式中,我們使用 strings 包中提供的 join() 函式,在第二個程式中,我們使用 Go 語言的 sprint() 函式執行相應的轉換。

更新於: 2023年1月10日

7K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告