-
16李柏霖学习笔记/2026.3.28.md
-
206李柏霖学习笔记/3.30.md
-
BIN李柏霖学习笔记/images/021099bd151272c630107ed552ab7af2.png
-
BIN李柏霖学习笔记/images/QQ20260330-143952.png
-
BIN李柏霖学习笔记/images/image-20260328093542705.png
-
BIN李柏霖学习笔记/images/image-20260328093613551.png
-
BIN李柏霖学习笔记/images/image-20260328112106933.png
-
BIN李柏霖学习笔记/images/image-20260328135132711.png
-
BIN李柏霖学习笔记/images/image-20260328135416809.png
@ -0,0 +1,206 @@ |
|||||
|
# go语言 |
||||
|
|
||||
|
## 执行流程 |
||||
|
|
||||
|
 |
||||
|
|
||||
|
Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错 |
||||
|
|
||||
|
## 转义字符 |
||||
|
|
||||
|
\t:制表符 |
||||
|
|
||||
|
\n:换行 |
||||
|
|
||||
|
**\\"**:一个" |
||||
|
|
||||
|
\r:回车 |
||||
|
|
||||
|
fmt包提供格式化,输出,输入函数。 |
||||
|
|
||||
|
## 基本语法 |
||||
|
|
||||
|
使用gofmt进行格式化 |
||||
|
|
||||
|
**(1)** |
||||
|
|
||||
|
所有的Go文件以package 开头,对于独立运行的执行文件必须是package main; |
||||
|
|
||||
|
fmt.Printf("Hello, world; or 世界") 这是说需要将fmt包加入main。不是main的其他包都被称为库,其他许多编程语言有 着类似的概念。 |
||||
|
|
||||
|
package main 必须首先出现,紧跟着是import。 |
||||
|
|
||||
|
在 Go 中,package 总是首先出现, 然后是import,然后是其他所有内容。当Go程序在执行的时候,首先调用的函数 是main.main(),这是从C中继承而来。这里定义了这个函数; |
||||
|
|
||||
|
Go 同其他语言不同的地方在于变量的类型在变量名的后面。不是:int a,而是a int。 当定义了一个变量,它默认赋值为其类型的null值。这意味着,在var a int后,a的 值为0。而var s string,意味着s被赋值为零长度字符串,也就是""。 |
||||
|
|
||||
|
**(2)** |
||||
|
|
||||
|
var a int |
||||
|
|
||||
|
var b bool |
||||
|
|
||||
|
a = 15 |
||||
|
|
||||
|
b = false |
||||
|
|
||||
|
------ |
||||
|
|
||||
|
用:= 声明 |
||||
|
|
||||
|
a := 15 |
||||
|
|
||||
|
b := false |
||||
|
|
||||
|
在左边使用了关键字var声明变量,然后赋值给它。右边的代码使用了:= 使得在一 步内完成了声明和赋值(这一形式只可用在函数内)。在这种情况下,变量的类型是由 值推演出来的。值15表示是int类型,值false告诉Go它的类型应当是bool。多 个var声明可以成组;const和import同样允许这么做。留意圆括号的使用: var ( x int b |
||||
|
|
||||
|
### Go 语言的字符串连接可以通过 **+** 实现: |
||||
|
|
||||
|
```go |
||||
|
package main |
||||
|
import "fmt" |
||||
|
func main() { |
||||
|
fmt.Println("Google" + "Runoob") |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
``` |
||||
|
GoogleRunoob |
||||
|
``` |
||||
|
|
||||
|
Go 语言中使用 **fmt.Sprintf** 或 **fmt.Printf** 格式化字符串并赋值给新串: |
||||
|
|
||||
|
- **Sprintf** 根据格式化参数生成格式化的字符串并返回该字符串。 |
||||
|
- **Printf** 根据格式化参数生成格式化的字符串并写入标准输出。 |
||||
|
|
||||
|
| **概念** | **Java 对应** | **Go 派生类型** | |
||||
|
| -------------- | ---------------- | ------------------------ | |
||||
|
| **对象属性** | Class (Fields) | **Struct** | |
||||
|
| **动态列表** | ArrayList | **Slice** | |
||||
|
| **键值对** | HashMap | **Map** | |
||||
|
| **抽象定义** | Interface | **Interface** (隐式实现) | |
||||
|
| **内存操作** | 引用 (Reference) | **Pointer** (显式指针) | |
||||
|
| **多线程通信** | BlockingQueue | **Channel** | |
||||
|
|
||||
|
声明变量的一般形式是使用 var 关键字: |
||||
|
|
||||
|
```go |
||||
|
var identifier type |
||||
|
``` |
||||
|
|
||||
|
可以一次声明多个变量: |
||||
|
|
||||
|
```go |
||||
|
var identifier1, identifier2 type |
||||
|
``` |
||||
|
|
||||
|
### 变量声明 |
||||
|
|
||||
|
**第一种,指定变量类型,如果没有初始化,则变量默认为零值**。 |
||||
|
|
||||
|
``` |
||||
|
var v_name v_type |
||||
|
v_name = value |
||||
|
``` |
||||
|
|
||||
|
bool 零值为 false |
||||
|
|
||||
|
没有初始化就为零值 |
||||
|
|
||||
|
**第二种,根据值自行判定变量类型。** |
||||
|
|
||||
|
``` |
||||
|
var v_name = value |
||||
|
``` |
||||
|
|
||||
|
**第三种,如果变量已经使用 var 声明过了,再使用 \**:=\** 声明变量,就产生编译错误,格式:** |
||||
|
|
||||
|
``` |
||||
|
v_name := value |
||||
|
``` |
||||
|
|
||||
|
例如: |
||||
|
|
||||
|
``` |
||||
|
var intVal int |
||||
|
intVal :=1 // 这时候会产生编译错误,因为 intVal 已经声明,不需要重新声明 |
||||
|
``` |
||||
|
|
||||
|
直接使用下面的语句即可: |
||||
|
|
||||
|
``` |
||||
|
intVal := 1 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句 |
||||
|
``` |
||||
|
|
||||
|
**intVal := 1** 相等于: |
||||
|
|
||||
|
``` |
||||
|
var intVal int |
||||
|
intVal =1 |
||||
|
``` |
||||
|
|
||||
|
``` |
||||
|
//类型相同多个变量, 非全局变量 |
||||
|
var vname1, vname2, vname3 type |
||||
|
vname1, vname2, vname3 = v1, v2, v3 |
||||
|
``` |
||||
|
|
||||
|
**所有像 int、float、bool 和 string 这些基本类型都属于值类型,使用这些类型的变量直接指向存在内存中的值:** |
||||
|
|
||||
|
可以通过 &i 来获取变量 i 的内存地址 |
||||
|
|
||||
|
一个引用类型的变量 r1 存储的是 r1 的值所在的内存地址(数字),或内存地址中第一个字所在的位置。 |
||||
|
|
||||
|
 |
||||
|
|
||||
|
这个内存地址称之为指针,这个指针实际上也被存在另外的某一个值中。 |
||||
|
|
||||
|
变量的初始化时省略变量的类型而由系统自动推断,声明语句写上 var 关键字其实是显得有些多余了,因此我们可以将它们简写为 a := 50 或 b := false。 |
||||
|
|
||||
|
### go的常量 |
||||
|
|
||||
|
- 显式类型定义: `const b string = "abc"` |
||||
|
- 隐式类型定义: `const b = "abc"` |
||||
|
|
||||
|
#### iota,特殊常量,可以认为是一个可以被编译器修改的常量。 |
||||
|
|
||||
|
iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。 |
||||
|
|
||||
|
iota 可以被用作枚举值 |
||||
|
|
||||
|
**`iota` 只能读,不能写**:永远不要写 `iota = x` 或 `iota += 1`,这是 Go 语法严格禁止的。 |
||||
|
|
||||
|
**`const` 块内类型一致**:同一组 `const` 里,要么全是数字,要么全是字符串,不能混用。 |
||||
|
|
||||
|
Go 语言支持的位运算符如下表所示。假定 A 为60,B 为13: |
||||
|
|
||||
|
| 运算符 | 描述 | 实例 | |
||||
|
| :----- | :----------------------------------------------------------- | :------------------------------------- | |
||||
|
| & | 按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。 | (A & B) 结果为 12, 二进制为 0000 1100 | |
||||
|
| \| | 按位或运算符"\|"是双目运算符。 其功能是参与运算的两数各对应的二进位相或 | (A \| B) 结果为 61, 二进制为 0011 1101 | |
||||
|
| ^ | 按位异或运算符"^"是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。 | (A ^ B) 结果为 49, 二进制为 0011 0001 | |
||||
|
| << | 左移运算符"<<"是双目运算符。左移n位就是乘以2的n次方。 其功能把"<<"左边的运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | A << 2 结果为 240 ,二进制为 1111 0000 | |
||||
|
| >> | 右移运算符">>"是双目运算符。右移n位就是除以2的n次方。 其功能是把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数。 | A >> 2 结果为 15 ,二进制为 0000 1111 | |
||||
|
|
||||
|
# 夺宝奇兵之时空预测: |
||||
|
|
||||
|
AI时空共振: |
||||
|
|
||||
|
股价不可能一直涨或者跌,时间决定了一切,空间决定了你的收益到底有多大 |
||||
|
|
||||
|
AI时空共振功能 |
||||
|
• 追踪股价运行背后的超级临界点,预判转折位置。 |
||||
|
• 适用于所有股票,结合时间和空间分析。 |
||||
|
• 以英伟达为例展示功能,识别连续上涨后的临界点。 |
||||
|
|
||||
|
未来预测技术 |
||||
|
• 包含股价预测和时空预测两大内容。 |
||||
|
• 提前标注变盘点,如距离下个变盘点5或13个交易日。 |
||||
|
• 通过案例验证预测准确性,如高低点与实际走势吻合。 |
||||
|
• 结合高阶数据科学与AI技术,逐步完善预测模型。 |
||||
|
|
||||
|
高低点规律总结 |
||||
|
• 高点提前易暴跌,低点提前易暴涨。 |
||||
|
• 高点延后易续涨,低点延后易续跌。 |
||||
|
• 牛市中低点易提前,高点易延后。 |
||||
|
• 熊市中高点易提前,低点易延后。 |
||||
|
After Width: 501 | Height: 381 | Size: 85 KiB |
|
After Width: 838 | Height: 645 | Size: 202 KiB |
|
After Width: 1252 | Height: 593 | Size: 171 KiB |
|
After Width: 1239 | Height: 595 | Size: 175 KiB |
|
After Width: 739 | Height: 454 | Size: 134 KiB |
|
After Width: 921 | Height: 635 | Size: 304 KiB |
|
After Width: 517 | Height: 406 | Size: 104 KiB |