Go語言程式:將雜湊集合轉換為字串
Go語言擁有json包,用於將雜湊集合轉換為字串。雜湊對映屬於雜湊集合,它以鍵值對的形式儲存資料,而字串是由字元組成的序列,它是不可變的。在本文中,我們將使用兩個例子來演示如何將雜湊集合轉換為字串。在第一個例子中,我們將使用Json包將對映轉換為編碼的位元組陣列,而在第二個例子中,我們將結合使用sort包和迴圈。
語法
json.Marshal()
此函式屬於JSON包,它將提供的值轉換為JSON編碼的位元組陣列。
func make ([] type, size, capacity)
Go語言中的make函式用於建立陣列/對映,它接受要建立的變數型別、大小和容量作為引數。
func len(v Type) int
len()函式用於獲取任何引數的長度。它接受一個引數作為要查詢長度的資料型別變數,並返回一個整數,表示該變數的長度。
方法一:使用json包
在這個例子中,我們將建立一個雜湊對映,Go語言的json包將使用它將其轉換為編碼的位元組陣列,然後使用string函式將其轉換為字串。讓我們來看一下程式碼和演算法,瞭解執行過程。
演算法
匯入fmt包和encoding/json包以滿足程式的要求。
建立一個main函式,並在函式內部建立一個名為hashcollection的雜湊對映,其中鍵和值都是字串型別。
然後,使用json包中的Marshal函式將此對映轉換為JSON編碼的位元組陣列。
如果在編碼對映時遇到任何錯誤,則列印錯誤。
然後,使用string函式將位元組陣列轉換為字串。
列印轉換為字串後的雜湊集合。
使用fmt包中的Println函式執行列印語句。
示例
在下面的例子中,我們將使用json包將雜湊集合轉換為字串。
//Golang program to convert the hash collection into string
package main
import (
"encoding/json"
"fmt"
)
//create a main function
func main() {
hashCollection := map[string]string{ //create hashmap using map literal
"item1": "value1",
"item2": "value2",
"item3": "value3",
}
hashCollectionJson, err := json.Marshal(hashCollection)
if err != nil {
panic(err) //print if any error encountered
}
hash_string := string(hashCollectionJson) //convert the byte array to string
fmt.Println("The hash collection after its converted to string:")
fmt.Println(hash_string) //print the hash string
}
輸出
The hash collection after its converted to string:
{"item1":"value1","item2":"value2","item3":"value3"}
方法二:使用Sort包
在這個例子中,我們將建立一個雜湊對映和一個切片,然後迭代它們以獲取字串中的鍵值對。整個字串將列印到控制檯。讓我們透過程式碼和演算法來看一下它是如何實現的。
演算法
匯入fmt包和sort包以滿足程式的要求。
在main函式中使用map字面量建立一個雜湊對映,鍵和值都是字串型別。
使用make內建函式建立一個名為keys的切片,其長度與雜湊對映相同。
將i變數初始化為0,並迭代雜湊對映直到其範圍結束。
在每次迭代中,將雜湊對映的鍵新增到keys切片中,並在每次迭代中遞增索引變數。
然後,使用sort包的Strings方法對鍵進行排序。
在此步驟中,建立一個名為hashmap_string的變數,透過迭代keys切片將鍵值對新增到此字串中。
使用Println函式列印控制檯上的字串,其中ln表示換行。
示例
在下面的例子中,我們將使用sort函式將雜湊集合轉換為字串。
package main
import (
"fmt"
"sort"
)
//create a main function
func main() {
hashmap := map[string]string{ //create a hashmap using map literal
"key1": "value1",
"key2": "value2",
"key3": "value3",
}
keys := make([]string, len(hashmap)) //create keys slice to print the string
i := 0
for k := range hashmap {
keys[i] = k
i++
}
sort.Strings(keys) //sort the keys slice
var hashmap_string string
for _, k := range keys {
v := hashmap[k]
hashmap_string += fmt.Sprintf("%s:%s,", k, v) //add the key:value pairs
}
hashmap_string = "{" + hashmap_string[:len(hashmap_string)-1] + "}"
fmt.Println("The hash collection after converted to string is:")
fmt.Println(hashmap_string) //print the string
}
輸出
The hash collection after converted to string is:
{key1:value1,key2:value2,key3:value3}
結論
我們使用兩個例子執行並編譯了將雜湊集合轉換為字串的程式。在第一個例子中,我們使用了json包,在第二個例子中,我們使用了sort包和迴圈來獲得所需的輸出。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP