MST

星途 面试题库

面试题:Go语言中Map在配置管理基础应用

假设你正在使用Go语言开发一个简单的应用程序,需要从配置文件中读取一些数据库连接信息(如地址、端口、用户名、密码)。请使用Go语言的Map来存储这些配置信息,并编写代码实现从一个简单的键值对格式的配置文件(每行格式为key=value)读取并填充到Map中。
22.6万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "bufio"
    "fmt"
    "os"
    "strings"
)

func main() {
    config := make(map[string]string)
    file, err := os.Open("config.txt")
    if err != nil {
        fmt.Println("Error opening file:", err)
        return
    }
    defer file.Close()

    scanner := bufio.NewScanner(file)
    for scanner.Scan() {
        line := scanner.Text()
        parts := strings.SplitN(line, "=", 2)
        if len(parts) == 2 {
            key := strings.TrimSpace(parts[0])
            value := strings.TrimSpace(parts[1])
            config[key] = value
        }
    }

    if err := scanner.Err(); err != nil {
        fmt.Println("Error reading file:", err)
        return
    }

    // 打印配置信息
    for key, value := range config {
        fmt.Printf("%s: %s\n", key, value)
    }
}
  1. 首先创建一个空的map用于存储配置信息。
  2. 打开配置文件,若打开失败则打印错误并返回。
  3. 使用bufio.Scanner逐行读取文件内容。
  4. 对每行内容按=进行分割,若分割后有两个部分,则去除两端空格后将键值对存入map
  5. 最后检查读取过程中是否有错误,并打印出读取到的配置信息。

请将配置信息按每行key=value的格式写入config.txt文件中,放在与该Go程序相同目录下运行。