diff --git a/李柏霖学习笔记/4.1.md b/李柏霖学习笔记/4.1.md new file mode 100644 index 0000000..cb341da --- /dev/null +++ b/李柏霖学习笔记/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技术辅助交易决策,但需保持对市场动态的独立判断。 \ No newline at end of file