Learn dictionary functions in Go language and implement the reversal of key-value pairs

WBOY
Release: 2023-08-02 12:55:52
Original
1110 people have browsed it

Learn the dictionary function in Go language and implement the reversal of key-value pairs

Dictionary is one of the most commonly used data structures in Go language. It provides a storage method of key-value pairs, and Allows us to quickly retrieve or modify the corresponding value based on the key. In many practical applications, we may need to reverse the key-value pairs in the dictionary, that is, use the original key as the value and the original value as the key. This article will introduce the usage of dictionary-related functions in Go language and implement this inversion operation.

First of all, we need to understand the basic usage of dictionary in Go language. The definition format of the dictionary is: map[keyType]valueType, where keyType represents the type of key, and valueType represents the type of value. For example, to define a dictionary with string type keys and integer type values, the code is as follows:

dict := make(map[string]int)
Copy after login

Adding key-value pairs to the dictionary can be done by directly assigning values ​​to the keys, for example:

dict["apple"] = 1
dict["banana"] = 2
Copy after login

You can also use a range loop to traverse the key-value pairs in the dictionary, for example:

for key, value := range dict {
    fmt.Println(key, value)
}
Copy after login

Now, we need to implement the reversal operation of the key-value pairs. The specific method is to create a new dictionary, using the keys in the original dictionary as values ​​and the values ​​in the original dictionary as keys. In order to achieve this operation, we can iterate over the key-value pairs in the original dictionary, then swap the keys and values ​​and put them into the new dictionary. The implementation code is as follows:

func reverseMap(original map[string]int) map[int]string {
    reversed := make(map[int]string)
    for key, value := range original {
        reversed[value] = key
    }
    return reversed
}
Copy after login

The above code defines a function named reverseMap, which accepts a parameter of type map[string]intoriginal, returns a dictionary of type map[int]string. This function creates a new dictionary reversed, then traverses the key-value pairs in the original dictionary original, exchanges the keys and values, and puts them into the new dictionary. Finally, the new dictionary is returned.

The following is a usage example showing how to call the reverseMap function to reverse the key-value pair:

func main() {
    dict := make(map[string]int)
    dict["apple"] = 1
    dict["banana"] = 2

    reversed := reverseMap(dict)

    for key, value := range reversed {
        fmt.Println(key, value)
    }
}
Copy after login

Run the above code, you can get the output:

1 apple
2 banana
Copy after login

You can see that after the reversal operation, the keys and values ​​in the original dictionary have exchanged positions.

In actual development, dictionaries are widely used, such as configuration file analysis, data statistics, etc. Mastering the usage of dictionaries and related functions can easily handle various functional requirements. This article introduces the basic usage of dictionaries in the Go language, and demonstrates how to use dictionary functions to reverse key-value pairs. By studying the content of this article, readers can become more proficient in using dictionary-related knowledge and lay a solid foundation for future Go language programming development.

The above is the detailed content of Learn dictionary functions in Go language and implement the reversal of key-value pairs. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact [email protected]
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!