• 科大讯飞(讯飞星火):https://xinghuo.xfyun.cn/
• 百度(文心一言)https://yiyan.baidu.com/welcome
• 阿里(通义千问)https://qianwen.aliyun.com/
• 抖音(云雀大模型)https://www.doubao.com/
• 360 (360智脑)https://ai.360.com/
• 智谱 AI(GLM大模型)https://chatglm.cn/
• 中科院(紫东太初大模型)https://xihe.mindspore.cn/
• 百川智能(百川大模型)https://www.baichuan-ai.com/
• 商汤(日日新大模型)https://techday.sensetime.com/
• MiniMax(ABAB大模型)https://api.minimax.chat/
• 上海人工智能实验室(书生通用大模型)https://intern-ai.org.cn/
• 华为(盘古大模型)https://www.huaweicloud.com/product/pangu.html
数据透视表是Excel中最实用最常用的功能,没有之一。今天小编对数据透视表进行一次全面的整理,共五大类,23个技巧。目录
一、基本操作
1、创建数据透视表
2、更改数据源
3、转换为普通表格
4、刷新所有数据透视表
5、数据透视表排序
6、数据透视表插入公式
7、套用模板
8、使用切片器
9、恢复03经典数据透视表样式
二、布局有格式调整
1、计数项改为求和项
2、批量隐藏和显示汇总行
3、刷新后格式保持不变
4、合并行标签
5、删除“求和项:”
6、标签项重复显示
三、组合
1、日期组合
2、根据数字期间组合
四、数据分析
1、各部门人数占比
2、各个年龄段人数和占比
3、各个部门各年龄段占比
4、各部门学历统计
5、按年份统计各部门入职人数
五、多表合并
1、多区域合并生成
一、基本操作1、创建数据透视表
2、更改数据源
3、数据透视表转换为普通表格
4、数据透视表刷新
5、数据透视表排序
6、数据透视表插入公式
7、套用设计模板
8、使用切片器
9、恢复经典数据透视表样式07及以上版本制作的数据透视表无法用鼠标拖放,可以修改为经典模式:
二、布局与格式调整1、计数项改为求和项
...
1. Go 语言介绍1.1 Go 语言的发展Go 语言又称 Golang,起源于 2007 年,来自于谷歌内部的一个项目,于 2009 年正式对外发布。创始团队有三人,都是计算机界的大佬:
Robert Griesemer:参与开发 Java HotSpot 虚拟机
Rob Pike:Go 语言项目总负责人,贝尔实验室 Unix 团队成员,参与的项目包括 Plan 9,Inferno 操作系统和 Limbo 编程语言
Ken Thompson:C 语言、Unix 和 Plan 9 的创始人之一
Go 语言是开源的,通过开源社区的力量得到了快速发展,越来越多的开发者开始使用 Go 语言。自 Go 语言发布以来,超过 200 名非谷歌员工贡献者对 Go 语言核心部分提交了超过 1000 个修改建议。在过去的 18 个月里,又有 150 开发者贡献了新的核心代码。
根据 TIOBE 2020 年 8 月份的编程语言排行榜,Go 语言位列第 11 位。
国内也有很多大厂在用 Go 语言,包括腾讯、阿里、百度、B 站、知乎等,我们可以看到 Go 语言的潜力还是非常大 的。
1.2 Go 语 ...
1. 命名规范1.1 文件Go 语言中,源文件以 .go 格式保存,例如 main.go,且文件名只能由小写字母组成,若有多个单词,可以用下划线 _ 进行拼接,例如 my_file.go。
1.2 标识符Go 语言中,标识符是区分大小写的,标识符必须以字符或 _ 开头,后面可以跟 0 个或多个字符(字母、数字以及其他符号),例如 _,_abc,a1,b_2。同时标识符不能是 Go 语言中的保留关键字,不能以数字开头,也不能有运算符。
以下这些标识符是错误的:
2c(不能以数字开头)
switch(不能是保留关键字)
m+n(不能出现运算符)
_ 是一个特殊的标识符,叫做空白标识符。它既可以被赋值或定义(任意类型的数据),但它接收的值将被抛弃,无法在代码中继续使用。有时候函数会返回多个值,我们可能不需要使用某些值,便可以用 _ 来接收,提高代码的灵活性。
用 _ 接收的变量统称为匿名变量。
1.3 保留关键字以下是 Go 语言中的保留关键字:
保留关键字仅 25 个,还是比较少的,有利于加快编译速度。
12345break default func ...
1. 常量1.1 常量的定义常量是一种特殊的变量,被初始化之后就无法再改变。
Go 语言中,常量的类型只能是布尔型,数字型(整型、浮点型和复数)和字符串型。
常量可以使用关键字 const 来定义,定义格式为 const variable [type] = value。
12const m string = "abc" // 显示声明const n = "xyz" // 隐式声明
常量的值必须在编译时能确定,给常量赋值时可以涉及表达式的计算,但计算值必须能在编译时确定。
12const m = 2/3 // 正确const n = getValue() // 错误,编译时自定义函数属于未知,无法用于常量赋值,但可以使用内置函数,如 len()
1.2 枚举常量也可以用于枚举:
Unknown 表示未知性别,Female 表示女性,Male 表示男性。
12345const ( Unknown = 0 Female = 1 Male = 2)
itoa 是一个特殊的常量,itoa 在 const 关键字出现时被重置为 0 ...
前言流程控制是每门语言控制程序逻辑和执行顺序的重要组成部分,Go 语言中常见的流程控制有 if,for,switch;break、continue 和 goto 是为了简化流程控制,降低代码复杂度。
if-elseif 分支结构的基本写法为:
if 分支结构多用于条件判断。
1234567if 表达式1 { 分支1} else if 表达式2 { 分支2} else { 分支3}
上述代码中,若表达式1的值为 true,程序将会执行分支1;若表达式1的值为 false,继续判断表达式2,若表达式2为 true,将会执行分支2;若表达式1和表达式2都为false,将会执行分支3。
if-else 分支结构会逐层判断表达式是否为 true,若为 true,则执行该表达式中对应的分支,否则继续判断下一个表达式,依次类推。
我们来看一个例子:
12345678910111213141516171819package mainimport "fmt"func testIf(score int) ...
数组初始化数组可以保存指定长度的多个数据,且这些数据的类型都相同,数据类型可以是原始类型,如整型和字符串等,也可以是自定义类型。
数组通过索引来访问元素,索引从 0 开始,第一个元素的索引为 0,第二个为 1,依此类推。
在 Go 语言中声明数组的格式为:
1var variable [len]type
例如,声明名称为arr1,长度和类型分别为5和 int 的数组:
1var arr1 [5]int
我们可以让编译器根据元素个数自动推断数组长度,只需要在声明长度时用 ... 替代:
1var numArray = [...]int{1, 2, 3}
我们还可以根据索引来声明数组:
1a := [...]string{0: "北京", 1: "上海"} // 索引 0 对应的元素为"北京",1 对应的元素为"上海"
整型数组中所有元素都初始化为 0,数组 arr中第 i 个元素为arr[i - 1],最后一个元素为 arr[len(arr) - 1]。
数组是 ...
Go 语言通过 定义结构体来支持用户自定义类型。一个结构体代表现实世界中的一个实体,类似于 Java 中的实体类。当要定义一个类型时,这个类型包含很多属性,例如定义一个用户类型,用户类型中包含用户名、密码和生日等属性,就可以使用结构体。
组成结构体属性的数据成为字段,每个字段都有类型和名称;在结构体中,字段名称必须唯一。由于 Go 语言中不存在类的概念,所以结构体 struct 在 Go 语言中有着较高的地位。
结构体的定义格式结构体定义的格式如下:
1234type variable struct { field1 type1 field2 type2}
若结构体中有多个同类型字段,可以简写,如:
123type T struct { a, b int}
若结构体中的字段并不需要使用,可以用匿名变量 _ 来定义,如:
123type M struct { _ int}
结构体中字段的类型可以是任意类型(包括结构体、函数和接口等)。
使用 new可以使用 new 函数给新结构体变量分配内存,它返回 ...
1. 使用接口的原因我们来看一段代码:
1234567891011121314type Cat struct{}func (c Cat) Say() string { return "喵喵喵" }type Dog struct{}func (d Dog) Say() string { return "汪汪汪" }func main() { c := Cat{} fmt.Println("猫:", c.Say()) d := Dog{} fmt.Println("狗:", d.Say())}
上述代码中定义了狗 Dog 和猫 Cat 以及它们对应的方法 Say(),若要继续添加鸭 Duck 方法和其对应的方法 Say(),重复代码会非常多。我们可不可以从这三种动物类型中抽象出方法 Say(),这就是接口的作用,接口可以定义抽象方法,来规范我们的代码。
2. 接口的定义和 ...
声明和初始化 Mapmap 是一种特殊的数据结构,通过键 key 和值 value 来保存数据,可以快速地根据 key 找到其对应的 value,与 python 中的字典和 Java 中的 HashMap 类似。
map 是引用类型,声明方式如下:
1var variable map[keyType]valueType
在声明的时候不需要知道 map 的长度,map 是可以动态增长的。
未初始化的 map 的值是 nil。
map 中的 key 只能是可以用 == 和 != 来比较的变量类型,例如 string,int 和 float 等,不能是数组,结构体和切片,但指针和接口可以作为 key。如果要使用结构体来作为 key,需要提供 Key() 和 Hash() 方法,value 可以为任意类型。
可以通过赋值符号来设置 key1 对应的 value:
1map1[key1] = value
也可以根据赋值符号获取 key1 对应的 value,若 map1 中没有 key1 对应的值,val 将会被赋值 map1 的值类型的空值。
1val := map1[key1]
示例 ...

