把 config.json文件打包进Go生成文件

image

 

package main

import (
    "embed"
    "encoding/json"
    "fmt"
)

// 嵌入整个配置文件到二进制中
//
//go:embed config.json
var configFile embed.FS

// 定义配置结构体,与config.json结构对应
type Config struct {
    AppName  string `json:"appName"`
    Port     int    `json:"port"`
    Debug    bool   `json:"debug"`
    Database struct {
        Host     string `json:"host"`
        Username string `json:"username"`
        Password string `json:"password"`
    } `json:"database"`
}

func main() {
    // 读取嵌入的配置文件内容
    data, err := configFile.ReadFile("config.json")
    if err != nil {
        fmt.Printf("读取配置文件失败: %v\n", err)
        return
    }

    // 解析JSON内容到结构体
    var config Config
    err = json.Unmarshal(data, &config)
    if err != nil {
        fmt.Printf("解析配置文件失败: %v\n", err)
        return
    }

    // 使用配置信息
    fmt.Printf("应用名称: %s\n", config.AppName)
    fmt.Printf("运行端口: %d\n", config.Port)
    fmt.Printf("调试模式: %v\n", config.Debug)
    fmt.Printf("数据库主机: %s\n", config.Database.Host)
}

 

posted @ 2025-07-31 17:38  CHHC  阅读(4)  评论(0)    收藏  举报