From 2357e2a39d22d0b4356255917611993aaab2afff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E8=BF=8E=E5=8F=AC?= <18053079430@163.com> Date: Tue, 31 Mar 2026 19:25:44 +0800 Subject: [PATCH] 2026.03.27 --- ...吴迎召3.31学习笔记(技术部分).txt | 46 +++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/吴迎召学习笔记/吴迎召3.31学习笔记(技术部分).txt b/吴迎召学习笔记/吴迎召3.31学习笔记(技术部分).txt index 9d07aa0..80d7c44 100644 --- a/吴迎召学习笔记/吴迎召3.31学习笔记(技术部分).txt +++ b/吴迎召学习笔记/吴迎召3.31学习笔记(技术部分).txt @@ -1 +1,45 @@ -111 \ No newline at end of file +%v 通用占位符(打印任意类型,默认格式) +%+v 打印结构体时,显示字段名 + 值 +fmt.Printf("%+v", User{"小明"}) {Name:小明} +%#v 打印值的 Go 语法表示(含类型) +%T 打印值的类型 fmt.Printf("类型:%T", 3.14) +%% 打印百分号本身(转义) +%d 十进制整数(int/int64 等) fmt.Printf("数字:%d", 100) 数字:100 +%b 二进制整数 fmt.Printf("二进制:%b", 8) 二进制:1000 +%o 八进制整数 fmt.Printf("八进制:%o", 8) 八进制:10 +%x/%X 十六进制(小写 / 大写) +%f 浮点数(默认保留 6 位小数) +%.2f 浮点数(指定保留 2 位小数) +%e/%E 科学计数法(小写 / 大写) +%U Unicode 编码(如字符转编码) +%s 字符串(直接打印) +%q 字符串带双引号(转义) +%c 单个字符(按 Unicode 打印) +%p 指针地址(十六进制,带 0x)fmt.Printf("指针:%p", &a) +%5d 宽度 5,右对齐(不足补空格) +%-5d 宽度 5,左对齐(不足补空格) +%05d 宽度 5,不足补 0 fmt.Printf("%05d", 123) +%5.2f 总宽度 5,保留 2 位小数(右对齐) +GO的字符串是不可变的,go的数据都有一个默认值没有赋值时Go中不同类型的变量之间赋值时需要显示转换,变量本身没有发生变化基本数据类型转换成string +GO的指针 +核心语法:& 取地址、* 解引用(定义指针 / 访问值); +核心优势:函数传参时修改外部变量、节省内存(大数据传递); +Go 特色:无指针算术、自动 GC、结构体指针可直接用.访问字段(语法糖); +避坑点:空指针(nil)解引用会崩溃,需先判空。 +1. 值类型 +所有基础数据类型 + 结构体 + 数组,都是值类型: +基础类型:int/float/bool/string/byte/rune +复合类型:struct(结构体)、array(数组,如 [5]int) +特殊值类型:int8/int16/uint64 等固定长度数值类型 +2. 引用类型 +只有 3 类核心引用类型(底层封装了指针,Go 帮你简化了指针操作): +slice(切片,如 []int) +map(字典) +chan(通道) +一、标识符的基础规则(语法层面,必须遵守) +这是 Go 编译器强制要求的,违反会直接报错: +字符组成:只能由 字母(a-z/A-Z)、数字(0-9)、下划线(_) 组成; +开头规则:不能以数字开头(如 1score 错误,score1 正确); +大小写敏感:Score 和 score 是两个完全不同的标识符; +不能用关键字:Go 有 25 个关键字(如 if/else/for/struct/var 等),不能作为标识符; +算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符 \ No newline at end of file