V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  swordfairy  ›  全部回复第 4 页 / 共 7 页
回复总数  137
1  2  3  4  5  6  7  
2023-06-14 10:09:55 +08:00
回复了 smile561607154 创建的主题 Go 编程语言 有没有人来实现一下这个功能
2023-06-14 10:02:40 +08:00
回复了 smile561607154 创建的主题 Go 编程语言 有没有人来实现一下这个功能
gpt 回答,看是否有用
-----------
可以使用 Go 内置的 encoding/json 包将 JSON 解析成一个结构体。以下是一个 Go 示例代码:

package main

import (
"encoding/json"
"fmt"
)

// JSON 对应的结构体
type Config struct {
Server1 struct {
Domain string `json:"domain"`
Api struct {
Api1 string `json:"api1"`
} `json:"api"`
} `json:"server1"`
Server2 struct {
Domain string `json:"domain"`
Api struct {
Api2 string `json:"api2"`
} `json:"api"`
} `json:"server2"`
}

// Api 类型封装了 server 的信息和 API 的路径
type Api struct {
baseURL string
path string
}

// NewApi 方法创建一个 Api 对象
func NewApi(config *Config, serverName string, apiName string) *Api {
api := &Api{}

switch serverName {
case "server1":
api.baseURL = config.Server1.Domain
switch apiName {
case "api1":
api.path = config.Server1.Api.Api1
default:
panic(fmt.Sprintf("unsupported API: %s", apiName))
}
case "server2":
api.baseURL = config.Server2.Domain
switch apiName {
case "api2":
api.path = config.Server2.Api.Api2
default:
panic(fmt.Sprintf("unsupported API: %s", apiName))
}
default:
panic(fmt.Sprintf("unsupported server: %s", serverName))
}

return api
}

// URL 方法返回拼接过的完整 URL
func (api *Api) URL() string {
return api.baseURL + api.path
}

func main() {
// 假设这是从 HTTP 响应体中获取的 JSON 数据
jsonStr := `
{
"server1": {
"domain": "https://www.baidu.com",
"api": {
"api1": "/api1"
}
},
"server2": {
"domain": "https://www.google.com",
"api": {
"api2": "/api2"
}
}
}
`

// 将 JSON 解析成结构体
var config Config
err := json.Unmarshal([]byte(jsonStr), &config)
if err != nil {
panic(err)
}

// 创建 API 对象并输出 URL
api1 := NewApi(&config, "server1", "api1")
fmt.Println(api1.URL()) // 输出 https://www.baidu.com/api1

api2 := NewApi(&config, "server2", "api2")
fmt.Println(api2.URL()) // 输出 https://www.google.com/api2
}
-----------
2023-06-05 14:02:36 +08:00
回复了 swordfairy 创建的主题 路由器 宽带升级,求路由器推荐
@Donahue 对,有线的话没啥问题, 就是无线感觉有点跟不上了,想升级无线方面的
@scemsjyd 这个是什么时期的大王卡呀,是联通的嘛
2023-05-11 11:45:33 +08:00
回复了 swordfairy 创建的主题 程序员 求推荐时间轴类的笔记软件
@wheeler 这个看着不错,就是设备要求的版本有点高了
@DavZhn 辛苦推荐一下办理的方式
@tonytonychopper 时间机器不就可以么
2023-03-24 16:38:39 +08:00
回复了 lifesimple 创建的主题 程序员 在一家测试地位极高的公司是一种什么样的体验。
@zong400 隐藏 bug 在合入主分支前的代码检查阶段不会被发现吗?
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1120 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 18:53 · PVG 02:53 · LAX 10:53 · JFK 13:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.