# 布尔 bool : true false 默认为false 主要在if判断中用、 # 数字型 | 序号 | 类型和描述 | | :--- | :----------------------------------------------------------- | | 1 | **uint8** 无符号 8 位整型 (0 到 255) | | 2 | **uint16** 无符号 16 位整型 (0 到 65535) | | 3 | **uint32** 无符号 32 位整型 (0 到 4294967295) | | 4 | **uint64** 无符号 64 位整型 (0 到 18446744073709551615) | | 5 | **int8** 有符号 8 位整型 (-128 到 127) | | 6 | **int16** 有符号 16 位整型 (-32768 到 32767) | | 7 | **int32** 有符号 32 位整型 (-2147483648 到 2147483647) | | 8 | **int64**有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) | | 1 | byte类似 uint8 | | ---- | --------------------------------------- | | 2 | **rune类似 int32** | | 3 | **uint 32或64位** | | 4 | **int与 uint 一样大小** | | 5 | **uintptr无符号整型,用于存放一个指针** | 整形不能转化为bool类型的。 按位与&、按位或|、按位异或^它们的运算规则是: 按位与& 两位全为1,结果为1,否则为0 按位或I 两位有一个为1,结果为1,否则为0 按位异或^ 两位一个为0,一个为1,结果为1,否则为0 左移运算符:<< 右移运算符:>> &、|、^ 、<<、>>都是补码计算 ### 单分支 var age int fmt.Scanln(&age) if age > 18 { fmt.println() } ### 双分支 if。。。else *Go 没有三目运算符,所以不支持* **?:** *形式的条件判断。* | [break 语句](https://www.runoob.com/go/go-break-statement.html) | 经常用于中断当前 for 循环或跳出 switch 语句 | | ------------------------------------------------------------ | ------------------------------------------------ | | [continue 语句](https://www.runoob.com/go/go-continue-statement.html) | 跳过当前循环的剩余语句,然后继续进行下一轮循环。 | | [goto 语句](https://www.runoob.com/go/go-goto-statement.html) | 将控制转移到被标记的语句。 | #### goto:它通常只出现在**底层框架、状态机**或者**需要极其高效地退出深层嵌套**的情况下。 例子:在多维数组中找一个数字,找到了就立刻停止所有循环 ```go package main import "fmt" func main() { target := 5 matrix := [][]int{ {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, } for i := 0; i < len(matrix); i++ { for j := 0; j < len(matrix[i]); j++ { if matrix[i][j] == target { // 发现了目标,直接“瞬移”到循环外面 goto Found } } } fmt.Println("没找到...") return // 如果没找到,执行完这里就退出了 Found: fmt.Printf("找到了!目标 %d 在矩阵中。\n", target) } ``` ### 数组 初始化数组 ```go var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0} 或 balance := [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0} ``` ### 指针 格式: ``` var var_name *var-type ``` 例子: ```go package main import "fmt" func main() { var a int= 20 /* 声明实际变量 */ var ip *int /* 声明指针变量 */ ip = &a /* 指针变量的存储地址 */ fmt.Printf("a 变量的地址是: %x\n", &a ) /* 指针变量的存储地址 */ fmt.Printf("ip 变量储存的指针地址: %x\n", ip ) /* 使用指针访问值 */ fmt.Printf("*ip 变量的值: %d\n", *ip ) } ``` ### Go 语言指针作为函数参数 ```go package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int= 200 fmt.Printf("交换前 a 的值 : %d\n", a ) fmt.Printf("交换前 b 的值 : %d\n", b ) /* 调用函数用于交换值 * &a 指向 a 变量的地址 * &b 指向 b 变量的地址 */ swap(&a, &b); fmt.Printf("交换后 a 的值 : %d\n", a ) fmt.Printf("交换后 b 的值 : %d\n", b ) } func swap(x *int, y *int) { var temp int temp = *x /* 保存 x 地址的值 */ *x = *y /* 将 y 赋值给 x */ *y = temp /* 将 temp 赋值给 y */ } ``` ### 结构体 结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体中有一个或多个成员。type 语句设定了结构体的名称。结构体的格式如下: ```go type struct_variable_type struct { member definition member definition ... member definition } ``` # homily link学习:ai雷达 1. AI雷达的核心定位与功能 • AI雷达的核心定位是“跨越空间透视未来”,通过降维打击实现空间跨越。 • 天地双轨系统是天轨(蓝色线)与地轨(下方线)构成的股价空间测算模型,地轨支撑位决定反弹机会。 • 股价触及地轨可能触发反弹,但持续上涨需满足天轨突破且地轨同步上移的条件。 • 空间测算强调“无空间无利润”,股价突破天轨时若地轨已拐头向上,则可能加速上涨。 2. 天地双轨系统的实战应用 • 反弹有效性验证:股价首次反弹至天轨但地轨未动时,通常难以持续上涨。 • 三级机会判定:一级机会(反弹未破天轨)、二级机会(突破天轨且地轨启动)、三级机会(天眼雷达信号+地轨强力支撑)。 • 前兆信号识别:股价下跌至地轨前,下方异动(如地轨提前上拐)提示潜在反转机会。 • 空间极值测算:天地双轨间距对应利润空间,股价触及预警线(如天线凹口)提示风险。 3. 透视未来的三大操作流程 • 探测阶段:通过前兆信号(如地轨异动)发现潜在机会,区分一级至三级机会强度。 • 扫射阶段:雷达方向指示力度(向右为弱、向左为强),三级天眼雷达信号预示暴涨。 • 预警阶段:天线系统在股价高位形成凹口预警,跌破天轨确认趋势终结。 4. AI雷达的差异化价值 • 空间视角独特性:区别于传统技术分析,专注空间维度测算与高维趋势预判。 • 全周期覆盖:从地轨支撑探测到天轨突破扫射,最终通过天线预警完成闭环。 • 2025年应用前景:针对市场不确定性,提供跨越空间层级的预判解决方案。