Browse Source

4.1

milestone-20260325-学习笔记
libolin 2 weeks ago
parent
commit
f3c1f436d5
  1. 137
      李柏霖学习笔记/4.1.md

137
李柏霖学习笔记/4.1.md

@ -0,0 +1,137 @@
# goframe
```
s.BindHandler("/say", hello.SayHello)
```
默认method是all
```
s.BindHandler("GET:/say", hello.SayHello)
```
将请求方式变味了get
bindObject:批量绑定方法
例:
```
func (s *Server) BindObject(pattern string, object interface{}, method ...string)
```
method ...string指定绑定的方法,不指定全都有;
BindObjectMethod:只能绑定一个方法;需要特殊路径,或一个 Controller 只想暴露少量接口时。
```
func (s *Server) BindObjectMethod(pattern string, object interface{}, method string)
```
BindObjectRest:只能绑定指定的方法名如:GET POST DELECT 只能匹配动词的方法;纯粹的资源操作(CRUD),符合标准 REST 规范。最常用的get,post
## 规范路由
GoFrame中提供了规范化的路由注册方式,注册方法如下
```
func Handler(ctx context.Context, req *Request) (res *Response, err error)
```
其中`Request`与`Response`为自定义的结构体。
通过如下方式指定请求方法与路径
```go
type HelloReq struct {
g.Meta `path:"/hello" method:"get"`
}
```
api内一般定义请求和响应的结构体的
```go
func (c *Hello) Params(ctx context.Context, req *hello.ParamsReq) (res *hello.ParamsRes, error error) {
r := g.RequestFromCtx(ctx)
name := r.GetQuery("name")
r.Response.WriteJson(name)
return
}
```
name位置是一个var的泛型
getquery第二个参数是个默认值;
| **方法名** | **返回类型** | **核心优势** | **Java 类比** |
| --------------------- | ------------------------ | -------------------------- | ------------------- |
| **GetQuery** | `*gvar.Var` | 链式转换类型极方便 | `getParameter()` |
| **GetQueryMap** | `map[string]interface{}` | 快速获取全部原始数据 | `getParameterMap()` |
| **GetQueryStruct** | `error` | **全自动绑定,代码最优雅** | **DTO 自动注入** |
| **GetQueryMapStrStr** | `map[string]string` | 类型统一,无需转型 | - |
用GetQueryMap来
```go
func (c *Hello) Params(ctx context.Context, req *hello.ParamsReq) (res *hello.ParamsRes, error error) {
r := g.RequestFromCtx(ctx)
data := r.GetQueryMap(map[string]interface{}{"name": "lisi", "age": "20"})
r.Response.Writeln(data)
return
}
```
## goframe的动态路由
主要写在g.Meta的path标签里
| **占位符格式** | **名称** | **匹配规则** | **示例** |
| --------------- | -------------- | --------------------------------- | ------------------------------------ |
| **`:name`** | **命名占位符** | 匹配两个 `/` 之间的内容(最常用) | `/user/:id` 匹配 `/user/123` |
| **`\*any`** | **模糊占位符** | 匹配从当前位置开始的所有后续内容 | `/file/*path` 匹配 `/file/img/a.png` |
| **`{pattern}`** | **正则占位符** | 使用正则表达式进行精确匹配 | `/user/{[0-9]+}` 只匹配数字 ID |
api
```
package api
import (
"github.com/gogf/gf/v2/frame/g"
)
type Res struct {
g.Meta `mime:"text/html"`
}
type ParamReq struct {
g.Meta `path:"/params/:name" method:"all"`
}
```
# homily link的ai预测大模型
1. AI预测大模型功能与特点
• 模型包含六个关键价格:买回价、卖出价、两个预测低点与两个预测高点。
• 采用深度学习算法分析历史数据,实时调整策略以捕捉市场趋势变化。
• 处理流程分为数据预处理、模型构建和数据分析决策三个阶段。
• 已从8月2日开始实际体验,用户可测试其预测功能。
2. 实际预测案例验证
• 英伟达案例显示7月31日预测的8月1日高低点与实际价格误差约0.2%-1%。
• 苹果案例中8月6日预测的次日高点214.81与实际213.64相差1.17美元。
• 通过计算预测价格中值并与当日收盘价对比,可预判次日涨跌方向。
3. 核心使用场景与方法
• 涨跌预判:用前日预测高低点均值对比当日收盘价,高于中值则预判次日上涨。
• 日内交易:依据模型提供的买回价、卖出价在日内进行低吸高抛操作。
• 上涨趋势中参考买回价寻找低吸机会,下跌趋势中按卖出价或预测高点挂单。
4. 模型应用原则与局限性
• 预测结果需结合趋势判断使用,如先确认涨跌概率再执行交易策略。
• 明确告知所有预测存在误差,核心价值在于提供量化参考依据。
• 强调通过AI技术辅助交易决策,但需保持对市场动态的独立判断。
Loading…
Cancel
Save