You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6.4 KiB
6.4 KiB
布尔
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 语句 | 经常用于中断当前 for 循环或跳出 switch 语句 |
|---|---|
| continue 语句 | 跳过当前循环的剩余语句,然后继续进行下一轮循环。 |
| goto 语句 | 将控制转移到被标记的语句。 |
goto:它通常只出现在底层框架、状态机或者需要极其高效地退出深层嵌套的情况下。
例子:在多维数组中找一个数字,找到了就立刻停止所有循环
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)
}
数组
初始化数组
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
例子:
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 语言指针作为函数参数
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 语句设定了结构体的名称。结构体的格式如下:
type struct_variable_type struct {
member definition
member definition
...
member definition
}
homily link学习:ai雷达
- AI雷达的核心定位与功能 • AI雷达的核心定位是“跨越空间透视未来”,通过降维打击实现空间跨越。 • 天地双轨系统是天轨(蓝色线)与地轨(下方线)构成的股价空间测算模型,地轨支撑位决定反弹机会。 • 股价触及地轨可能触发反弹,但持续上涨需满足天轨突破且地轨同步上移的条件。 • 空间测算强调“无空间无利润”,股价突破天轨时若地轨已拐头向上,则可能加速上涨。
- 天地双轨系统的实战应用 • 反弹有效性验证:股价首次反弹至天轨但地轨未动时,通常难以持续上涨。 • 三级机会判定:一级机会(反弹未破天轨)、二级机会(突破天轨且地轨启动)、三级机会(天眼雷达信号+地轨强力支撑)。 • 前兆信号识别:股价下跌至地轨前,下方异动(如地轨提前上拐)提示潜在反转机会。 • 空间极值测算:天地双轨间距对应利润空间,股价触及预警线(如天线凹口)提示风险。
- 透视未来的三大操作流程 • 探测阶段:通过前兆信号(如地轨异动)发现潜在机会,区分一级至三级机会强度。 • 扫射阶段:雷达方向指示力度(向右为弱、向左为强),三级天眼雷达信号预示暴涨。 • 预警阶段:天线系统在股价高位形成凹口预警,跌破天轨确认趋势终结。
- AI雷达的差异化价值 • 空间视角独特性:区别于传统技术分析,专注空间维度测算与高维趋势预判。 • 全周期覆盖:从地轨支撑探测到天轨突破扫射,最终通过天线预警完成闭环。 • 2025年应用前景:针对市场不确定性,提供跨越空间层级的预判解决方案。