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() 函式執行相應的轉換。