Browse Source

2026.03.27

wuyingzhao
吴迎召 2 weeks ago
parent
commit
2357e2a39d
  1. 46
      吴迎召学习笔记/吴迎召3.31学习笔记(技术部分).txt

46
吴迎召学习笔记/吴迎召3.31学习笔记(技术部分).txt

@ -1 +1,45 @@
111
%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 等),不能作为标识符;
算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符
Loading…
Cancel
Save