目录
1.Emment语法
1.1快速生成HTML结构语法
1.2快速生成CSS样式语法(MAC不行)
1.3快速格式化代码
2.CSS的复合选择器
2.1什么是复合选择器
2.2后代选择器(重要)
2.3子选择器(重要)
2.4并集选择器(重要)
2.5伪类选择器
2.6链接类伪选择器
2.7:focus伪类选择器
2.8复合选择器总结
3.css的元素显示模式
3.1什么是元素显示模式
3.3块元素
3.2行内元素
3.3行内块元素
3.4元素显示模式总结
3.5元素显示模式转换
3.6案例:简洁版小米侧边栏
3.7一个小技巧 单行文字垂直居中的代码
3.8单行文字垂直居中的原理
4.CSS的背景
4.1背景颜色
4.2背景图片
4.3背景平铺
4.4背景位置-方位名词
4.5背景位置案例
4.6背景图像固定(背景附着)
4.7背景复合写法
4.8背景色半透明
4.9背景总结
1.Emment语法
Emment语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度,Vscode内部已经集成该语法。
1.1快速生成HTML结构语法
生成标签 直接输入标签名 按tab键即可 比如 div 然后tab 键, 就可以生成
如果想要生成多个相同标签 加上 * 就可以了 比如 div*3 就可以快速生成3个div
如果有父子级关系的标签,可以用 > 比如 ul > li就可以了
如果有兄弟关系的标签,用 + 就可以了 比如 div+p
如果生成带有类名或者id名字的, 直接写 .demo 或者 #two tab 键就可以了
如果生成的div 类名是有顺序的, 可以用 自增符号 $
如果想要在生成的标签内部写内容可以用 { } 表示
1.2快速生成CSS样式语法(MAC不行)
CSS基本采取简写形式即可
1.比如w200 按tab 可以生成width:200px;
2.比如lh26 按tab 可以生成line-height:26px;
1.3快速格式化代码
Vscode 快速格式化代码: shift+alt+f
也可以设置 当我们 保存页面的时候自动格式化代码:
1)文件 ------.>【首选项】---------->【设置】;
2)搜索emmet.include;
3)在settings.json下的【工作区设置】中添加以下语句:
"editor.formatOnType": true,
"editor.formatOnSave": true,
只需要设置一次即可,以后2都可以自动保存格式化代码。
MAC上操作方式:
1.点击左下角小齿轮
2.选择设置
3.在搜索设置 框搜索format ,选择在sttings.json中编辑
4.将以下代码复杂到sttings.json 中
"editor.formatOnType": true,
"editor.formatOnSave": true,
点击 command+s 保存,设置成功,实现在保存代码按下 command+s 键或者点击文件下的保存时时自动格式化代码。
2.CSS的复合选择器
2.1什么是复合选择器
在CSS中,可以根据选择器的类型把选择器分为基础选择器 和 复合选择器 ,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。
复合选择器可以更准确、更高效的选择目标元素(标签)。
复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。
常用的复合选择器包括: 后代选择器 、 子选择器 、 并集选择器 、 伪类选择器 等等
2.2后代选择器(重要)
后代选择器 又称为包含选择器 ,可以选择父元素里面的子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。
语法:
元素1 元素2 { 样式声明 }
上述语法表示选择元素1里面的所有元素2 (后代元素)
例如:
ul li { 样式声明} /* 选择 ul 里面所有的 li 标签元素 */
元素1和元素2中间用空格隔开。
元素1是父级,元素2是子级,最终选择的是元素2。
元素2可以是儿子,也可以是孙子等,只要是元素1的后代即可。
元素1和元素2可以是任意基础选择器。
例子:
Document
我是ol 的孩子
我是ol 的孩子
我是ol 的孩子
我是ol 的孙子
我是ul 的孩子
我是ul 的孩子
我是ul 的孩子
实现效果:
2.3子选择器(重要)
子元素选择器(子选择器) 只能选择作为某元素的最近一级子元素。简单理解就是选亲儿子元素。
语法:
元素1>元素2 { 样式声明 }
上述语法表示选择元素1里面的所有直接后代(子元素) 元素2。
例如:
div>p { 样式声明 } /* 选择 div 里面所有最近一级 p 标签元素 */
元素1和元素2中间用大于号 隔开 。
元素1是父级,元素2是子级,最终选择的是元素2
元素2必须是亲儿子,其孙子、重孙之类都不归他管。
例子:
Document
实现效果:
2.4并集选择器(重要)
并集选择器可以选择多组标签,同时为他们定义相同的样式 。通常用于集体声明。
并集选择器 是各选择器通过英文逗号(,)连接而成 ,任何形式的选择器都可以作为并集选择器的一部分。
语法:
元素1,元素2 { 样式声明 }
上述语法表示选择元素1 和元素2 .
例如:
ul,div { 样式声明 } /* 选择 ul 和 div 标签元素*/
元素1和元素2中间用逗号隔开 。
逗号可以理解为和 的意思。
并集选择器通常用于集体声明。
例子:
Document
熊大
熊二
光头强
实现效果:
2.5伪类选择器
伪类选择器 用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第一个,第n个元素。
伪类选择器书写最大的特点是用冒号(:)表示 ,比如:hover、:first-child。
因为伪类选择器很多,比如有链接伪类、结构伪类等,这里先讲解常用的链接伪类选择器。
2.6链接类伪选择器
a:link /* 选择所有未被访问的链接 */
a:visited /* 选择所有已被访问的链接 */
a:hover /* 选择鼠标指针位于其上的链接 */
a:active /* 选择活动链接(鼠标按下未弹起的链接)*/
链接伪类选择器注意事项:
1.为了确保生效,请按照LVHA的循顺序声明:link-;visited-;hover-;active。
2.记忆法:LV好啊(HA)
3.因为a链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。
链接伪类选择器实际工作开发中的写法:
/* a 是标签选择器 所有的链接 */
a {
color: gray;
text-decoration: none;
}
/* :hover 是链接伪类选择器 鼠标经过*/
a:hover {
color: red;/* 鼠标经过的时候,由原来的灰色 变成了红色*/
text-decoration: normal;
}
例子:
Document
小猪佩奇
2.7:focus伪类选择器
:focus 伪类选择器 用于选取获得焦点的表单元素。
焦点就是光标,一般情况 类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。
input:focus {
background-color: yellow;
}
2.8复合选择器总结
选择器
作用
特征
使用情况
隔开符号及用法
后代选择器
用来选择后代元素
可以是孙子后代
较多
符号是空格.nav a
子选择器
选择最近一级元素
只选亲儿子
较少
符号是大于.nav>p
并集选择器
选择某些相同样式的元素
可以用于集体声明
较多
符号是逗号.nav,.a
链接伪类选择器
选择不同状态的链接
跟链接相关
较多
重点记住a{}和a:hoverhover实际开发的写法
:focus选择器
选择获得光标的表单
跟表单相关
较少
input:focus记住这个写法
3.css的元素显示模式
了解元素的显示模式可以更好的让我们布局页面。
1.什么是元素的显示模式
2.元素显示模式的分类
3.元素显示模式的转换
3.1什么是元素显示模式
作用:网页的标签非常多,在不同地方会用到不同类型的标签,了解他们的特点可以更好的布局我们的网页。
元素显示模式就是元素(标签)以什么方式进行显示, 比如自己占一行,比如一行可以放多个
。
HTML元素一般分为块元素 和行内元素 两种类型。
3.3块元素
常见的块元素有
~、 、
、
、、等,其中标签是
最典型块元素
块级元素的特点:
比较霸道,自己独占一行。
高度、宽度、外边距以及内边距都可以控制。
宽度默认是容器(父级宽度)的100%。
是一个容器及盒子,里面可以放行内或者块级元素。
注意:
文字类的元素内不能使用块级元素。
标签主要用于存放文字,因此
里面不能放块级元素,特别不能放
。
同理,~等都是文字类块级标签,里面也不能放其他块级元素。
例子:
Document
比较霸道,自己独占一行
你以为我在第一行其实我在第二行
实现效果:
3.2行内元素
常见的行内元素有、、、、、、、、、等,其中标签 是最典型的行内元素 。有的地方也将行内元素称为内联元素 。
行内元素的特点:
相邻行内元素在一行上,一行可以显示多个。
高、宽直接设置是无效的。
默认宽度就是它本身内容的宽度。
行内元素只能容纳文本或其他行内元素。
注意:
例子:
Document
老师好老师好老师好 浙江图书馆
老师好 浙江图书馆
实现效果:
3.3行内块元素
在行内元素中有几个特殊的标签—— 、 、
,它们同时具有块元素和行内元素的特点 ,有些资料称它们为行内块元素 。
行内块元素的特点:
和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)。
默认宽度就是它本身内容的宽度(行内元素特点)。
高度,行高、外边距以及内边距都可以控制(块级元素特点)。
例子:
Document
实现效果:
3.4元素显示模式总结
元素模式
元素排列
设置样式
默认宽度
包含
块级元素
一行只能放一个块级元素
可以设置宽度高度
容器的100%
容器级可以包含任何标签
行内元素
一行可以放多个行内元素
不可以直接设置宽度高度
它本身内容的宽度
容纳文本或者其他行内元素
行内块元素
一行放多个行内块元素
可以设置宽度和高度
它本身内容的宽度
3.5元素显示模式转换
特殊情况下,我们需要元素模式的转换,简单理解:一个模式的元素需要另外一种模式的特性,比如想要增加链接的触发范围。
转换为块元素:display:block;
转换为行内元素:display:inline;
转换为行内块:diaplay:inline-block;
例子:
Document
小狗
小狗
我是块级元素
我是块级元素
行内元素转换为行内块元素
行内元素转换为行内块元素
实现效果:
3.6案例:简洁版小米侧边栏
案例的核心思路分为两步:
把链接a转换为块级元素,这样链接就可以单独占一行,并且有宽度和高度。
鼠标经过a给链接设置背景颜色。
例子:
Document
手机 电话卡
电视 盒子
笔记本 平板
笔记本 平板
出行 穿戴
智能 路由器
健康 儿童
耳机 音响
实现效果:
3.7一个小技巧 单行文字垂直居中的代码
CSS没有给我们提供文字垂直居中的代码。这里我们可以使用一个小技巧来实现。
解决方案:让文字的行高等于盒子的高度 ,就可以让文字在当前盒子内垂直居中。
height:40px;
line-height: 40px;
例子:
Document
我要居中
实现效果:
小米例子居中:
Document
手机 电话卡
电视 盒子
笔记本 平板
笔记本 平板
出行 穿戴
智能 路由器
健康 儿童
耳机 音响
实现效果:
3.8单行文字垂直居中的原理
简单解释:行高的上空隙和下空隙把文字挤到中间了,如果行高<盒子高度 ,文字会偏上,如果行高>盒子高度 ,则 文字偏下。
4.CSS的背景
通过CSS背景属性,可以给页面元素添加背景样式。
背景属性可以设置背景颜色 、背景图片 、背景平铺 、背景图片位置 、背景图像固定 等。
4.1背景颜色
background-color 属性定义了元素的背景颜色。
background-color:颜色值;
transparent 透明色
例子:
Document
实现效果:
4.2背景图片
background-image 属性描述了元素的背景图像。实际开发常见于logo或者一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置(精灵图也是一种运用场景)
background-image:none|url(照片地址)
参数值
作用
none
无背景图(默认的)
url
使用绝对或相对地址指定背景图像
例子:
Document
实现效果:
4.3背景平铺
如果需要在HTML页面上对背景图像进行平铺,可以使用background-repeat 属性。
background-repeat:repeat|no-repeat|repeat-x|repeat-y
参数值
作用
repeat
背景图像在纵向和横向上平铺
no-repeat
背景图像不平铺
repaet-x
背景在横向上平铺
repaet-y
背景在纵向上平铺
例子:
Document
实现效果:
4.4背景位置-方位名词
利用background-position 属性可以改变图片在背景中的位置。
background-position:x y;
参数代表的意思是:x坐标和y坐标。可以使用方位名词 或者精确单位
参数值
说明
length
百分数|由浮点数字和单位标识符组成的长度值
position
top|center|bottom|left|center|right 方位名词
1.参数是方位名词
如果指定的两个值都是方位名词,则两个值前后顺序无关,比如left top和top left效果一致。
如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐。
2.参数是精确单位
如果参数值是精确坐标,那么第一个肯定是x坐标,第二个一定是y坐标。
如果只指定一个数值,那该数值一定是x坐标,另一个默认垂直居中。
3.参数是混合单位
如果指定的两个值是精确单位和方位名词混合使用,则第一个值是x坐标,第二个值是y坐标。
例子1参数是方位名词:
Document
实现效果:
例子2 参数是精确单位
Document
实现效果:
例子3参数是混合单位:
Document
实现效果:
4.5背景位置案例
Document
成长守护平台
实现效果:
4.6背景图像固定(背景附着)
background- attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动。
background- attachment 后期可以制作视差滚动的效果。
background-attachment:scroll|fixed
参数
作用
scroll
背景图像是随着对象内容滚动
fixed
背景图像固定
例子:
Document
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
实现效果:
4.7背景复合写法
为了简化背景属性的代码,我们可以将这些属性合并简写在同一个属性background 中。从而节约代码量。
当使用简写属性时,没有特定的书写顺序,一般习惯约定顺序为:
background:背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置
background:transparent url(image.jpg) repaet-y fixed top ;
这是实际开发中,我们更提倡的写法。
例子:
Document
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
天王盖地虎,小鸡炖蘑菇
实现效果:
4.8背景色半透明
CSS3为我们提供了背景颜色半透明的效果。
background:rgba(0,0,0,0.3);
r-红色对应第一个0;g-绿色对应第二个0;b-蓝色对应第三个0。
最后一个参数是alpha透明度,取值范围在0~1之间。
我们习惯把0.3的0省略掉,写为background:rgba(0,0,0,.3) ;
注意:背景半透明1是指盒子背景半透明,盒子里面的内容不受影响。
例子:
Document
英雄联盟
实现效果:
4.9背景总结
属性
作用
值
background-color
背景颜色
预定义的颜色值/十六进制/RGB代码
background-image
背景图片
url(图片路径)
background-repaet
是否平铺
repaet/no-repaet/repaet-x/repaet-y
background-position
背景位置
length/position 分别是x和y坐标
background-attachment
背景附着
scroll(背景滚动)/fixed(背景固定)
背景简写
书写更简单
背景颜色 背景图片地址 背景平铺 背景滚动 背景位置
背景色半透明
背景颜色半透明
background:rgba(0,0,0,.3); 后面必须是4个值
背景图片:实际开发常见于logo或着一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置(精灵图也是一种运用场景)
你可能感兴趣的:(笔记,html5,前端,html,css)
移动端城市区县二级联动选择功能实现包
good2know
本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery
日更006 终极训练营day3
懒cici
人生创业课(2)今天的主题:学习方法一:遇到有用的书,反复读,然后结合自身实际,列践行清单,不要再写读书笔记思考这本书与我有什么关系,我在哪些地方能用到,之后我该怎么用方法二:读完书没映像怎么办?训练你的大脑,方法:每读完一遍书,立马合上书,做一场分享,几分钟都行对自己的学习要求太低,要逼自己方法三:学习深度不够怎么办?找到细分领域的榜样,把他们的文章、书籍、产品都体验一遍,成为他们的超级用户,向
day15|前端框架学习和算法
universe_01
前端 算法 笔记
T22括号生成先把所有情况都画出来,然后(在满足什么情况下)把不符合条件的删除。T78子集要画树状图,把思路清晰。可以用暴力法、回溯法和DFS做这个题DFS深度搜索:每个边都走完,再回溯应用:二叉树搜索,图搜索回溯算法=DFS+剪枝T200岛屿数量(非常经典BFS宽度把树状转化成队列形式,lambda匿名函数“一次性的小函数,没有名字”setup语法糖:让代码更简洁好写的语法ref创建:基本类型的
SpringMVC的执行流程
1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,
【花了N长时间读《过犹不及》,不断练习,可以越通透】
君君Love
我已经记不清花了多长时间去读《过犹不及》,读书笔记都写了42页,这算是读得特别精细的了。是一本难得的好书,虽然书中很多内容和圣经吻合,我不是基督徒,却觉得这样的文字值得细细品味,和我们的生活息息相关。我是个界线建立不牢固的人,常常愧疚,常常害怕他人的愤怒,常常不懂拒绝,还有很多时候表达不了自己真实的感受,心里在说不嘴里却在说好……这本书给我很多的启示,让我学会了怎样去建立属于自己的清晰的界限。建立
基于redis的Zset实现作者的轻量级排名
周童學
Java redis 数据库 缓存
基于redis的Zset实现轻量级作者排名系统在今天的技术架构中,Redis是一种广泛使用的内存数据存储系统,尤其在需要高效检索和排序的场景中表现优异。在本篇博客中,我们将深入探讨如何使用Redis的有序集合(ZSet)构建一个高效的笔记排行榜系统,并提供相关代码示例和详细的解析。1.功能背景与需求假设我们有一个笔记分享平台,用户可以发布各种笔记,系统需要根据用户发布的笔记数量来生成一个实时更新的
常规笔记本和加固笔记本的区别
luchengtech
电脑 三防笔记本 加固计算机 加固笔记本
在现代科技产品中,笔记本电脑因其便携性和功能性被广泛应用。根据使用场景和需求的不同,笔记本可分为常规笔记本和加固笔记本,二者在多个方面存在显著区别。适用场景是区分二者的重要标志。常规笔记本主要面向普通消费者和办公人群,适用于家庭娱乐、日常办公、学生学习等相对稳定的室内环境。比如,人们在家用它追剧、处理文档,学生在教室用它完成作业。而加固笔记本则专为特殊行业设计,像军事、野外勘探、工业制造、交通运输
js操作样式
郝加升
DOM样式属性和方法:指定的元素,它的style有这么几个属性和方法:cssText:通过这个属性可以访问到元素的特性style设置的属性,并且可以直接赋值设置。removeProperty(属性名称):从样式中删除给定属性。setProperty(属性名称,值,权重):可以通过这个方法设置给定样式的同时设置其权重,可以传入”important”或者一个空字符串。获取计算后样式:window.ge
第八课: 写作出版你最关心的出书流程和市场分析(无戒学堂复盘)
人在陌上
今天是周六,恰是圣诞节。推掉了两个需要凑腿的牌局,在一个手机,一个笔记本,一台电脑,一杯热茶的陪伴下,一个人静静地回听无戒学堂的最后一堂课。感谢这一个月,让自己的习惯开始改变,至少,可以静坐一个下午而不觉得乏味枯燥难受了,要为自己点个赞。我深知,这最后一堂课的内容,以我的资质和毅力,可能永远都用不上。但很明显,无戒学堂是用了心的,毕竟,有很多优秀学员,已经具备了写作能力,马上就要用到这堂课的内容。
Selenium 特殊控件操作与 ActionChains 实践详解
小馋喵知识杂货铺
selenium 测试工具
1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个
python笔记14介绍几个魔法方法
抢公主的大魔王
python python
python笔记14介绍几个魔法方法先声明一下各位大佬,这是我的笔记。如有错误,恳请指正。另外,感谢您的观看,谢谢啦!(1).__doc__输出对应的函数,类的说明文档print(print.__doc__)print(value,...,sep='',end='\n',file=sys.stdout,flush=False)Printsthevaluestoastream,ortosys.std
微信公众号回调java_处理微信公众号消息回调
weixin_39607620
微信公众号回调java
1、背景在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是GET/mp/entry,那么公众号以后产生的事件将会以POST/mp/entry发送到咱们本身的服务器上。html2、代码实现,此处仍是使用weixin-java-mp这个框架实现一、引入weixin-java-mpcom.github.
《感官品牌》读书笔记 1
西红柿阿达
原文:最近我在东京街头闲逛时,与一位女士擦肩而过,我发现她的香水味似曾相识。“哗”的一下,记亿和情感立刻像潮水般涌了出来。这个香水味把我带回了15年前上高中的时候,我的一位亲密好友也是用这款香水。一瞬间,我呆站在那里,东京的街景逐渐淡出,取而代之的是我年少时的丹麦以及喜悦、悲伤、恐惧、困惑的记忆。我被这熟悉的香水味征服了。感想:感官是有记忆的,你所听到,看到,闻到过的有代表性的事件都会在大脑中深深
我不想再当知识的搬运工
楚煜楚尧
因为学校课题研究的需要,这个暑假我依然需要完成一本书的阅读笔记。我选的是管建刚老师的《习课堂十讲》。这本书,之前我读过,所以重读的时候,感到很亲切,摘抄起来更是非常得心应手。20页,40面,抄了十天,终于在今天大功告成了。这对之前什么事都要一拖再拖的我来说,是破天荒的改变。我发现至从认识小尘老师以后,我的确发生了很大的改变。遇到必须做却总是犹豫不去做的事,我学会了按照小尘老师说的那样,在心里默默数
人工智能应用研究快讯 2021-11-30
峰谷皆平
[HTML]ArtificialIntelligenceforSkinCancerDetection:ScopingReviewATakiddin,JSchneider,YYang,AAbd-Alrazaq...JournalofMedicalInternet...,2021ABSTACT:Background:Skincanceristhemostcommoncancertypeaffectin
20210517坚持分享53天读书摘抄笔记 非暴力沟通——爱自己
f79a6556cb19
让生命之花绽放在赫布·加德纳(HerbGardner)编写的《一千个小丑》一剧中,主人公拒绝将他12岁的外甥交给儿童福利院。他郑重地说道:“我希望他准确无误地知道他是多么特殊的生命,要不,他在成长的过程中将会忽视这一点。我希望他保持清醒,并看到各种奇妙的可能。我希望他知道,一旦有机会,排除万难给世界一点触动是值得的。我还希望他知道为什么他是一个人,而不是一张椅子。”然而,一旦负面的自我评价使我们看
Unity学习笔记1
zy_777
通过一个星期的简单学习,初步了解了下unity,unity的使用,以及场景的布局,UI,以及用C#做一些简单的逻辑。好记性不如烂笔头,一些关键帧还是记起来比较好,哈哈,不然可能转瞬即逝了,(PS:纯小白观点,unity大神可以直接忽略了)一:MonoBehaviour类的初始化1,Instantiate()创建GameObject2,通过Awake()和Start()来做初始化3,Update、L
【Jupyter】个人开发常见命令
TIM老师
# Pycharm & VSCode python Jupyter
1.查看python版本importsysprint(sys.version)2.ipynb/py文件转换jupyternbconvert--topythonmy_file.ipynbipynb转换为mdjupyternbconvert--tomdmy_file.ipynbipynb转为htmljupyternbconvert--tohtmlmy_file.ipynbipython转换为pdfju
用代码生成艺术字:设计个性化海报的秘密
本文围绕“用代码生成艺术字:设计个性化海报的秘密”展开,先概述代码生成艺术字在海报设计中的独特价值,接着介绍常用的代码工具(如HTML、CSS、JavaScript等),详细阐述从构思到实现的完整流程,包括字体样式设计、动态效果添加等,还分享了提升艺术字质感的技巧及实际案例。最后总结代码生成艺术字的优势,为设计师提供打造个性化海报的实用指南,助力提升海报设计的独特性与吸引力,符合搜索引擎SEO标准
vue element 封装表单
影子信息
vue vue.js javascript 前端
背景:在前端系统开发中,系统页面涉及到的表单组件比较多,所以进行了简单的封装。封装的包括一些Form表单组件,如下:input输入框、select下拉框、等实现效果:理论知识:表单组件官方链接:点击跳转封装组件:封装组件的思路:不封装element组件,每一个input组件绑定一个form对象,例如官网。简单封装element组件,利用for循环生成form表单的每一项el-form-item。进
前端面试每日 3+1 —— 第39天
浪子神剑
今天的面试题(2019.05.25)——第39天[html]title与h1、b与strong、i与em的区别分别是什么?[css]写出你知道的CSS水平和垂直居中的方法[js]说说你对模块化的理解[软技能]公钥加密和私钥加密是什么?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!欢迎在Iss
大数据技术笔记—spring入门
卿卿老祖
篇一spring介绍spring.io官网快速开始Aop面向切面编程,可以任何位置,并且可以细致到方法上连接框架与框架Spring就是IOCAOP思想有效的组织中间层对象一般都是切入service层spring组成前后端分离已学方式,前后台未分离:Spring的远程通信:明日更新创建第一个spring项目来源:科多大数据
Django学习笔记(一)
学习视频为:pythondjangoweb框架开发入门全套视频教程一、安装pipinstalldjango==****检查是否安装成功django.get_version()二、django新建项目操作1、新建一个项目django-adminstartprojectproject_name2、新建APPcdproject_namedjango-adminstartappApp注:一个project
GDP经济社会人文民生栅格数据下载网站汇总
疯狂学习GIS
本文为“GIS数据获取整理”专栏(https://blog.csdn.net/zhebushibiaoshifu/category_10857546.html)中第八篇独立博客,因此本文全部标题均由“8”开头。本文对目前主要的GDP、社会与经济数据获取网站加以整理与介绍,若需其它GIS领域数据(如遥感影像数据、气象数据、土地土壤数据、农业数据等),大家可以点击上方专栏查看,也可以看这一篇汇总文
【MySQL】MySQL数据库如何改名
武昌库里写JAVA
面试题汇总与解析 spring boot vue.js sql java 学习
MySQL建库授权语句https://www.jianshu.com/p/2237a9649ceeMySQL数据库改名的三种方法https://www.cnblogs.com/gomysql/p/3584881.htmlMySQL安全修改数据库名几种方法https://blog.csdn.net/haiross/article/details/51282417MySQL重命名数据库https://
python学习笔记(汇总)
朕的剑还未配妥
python学习笔记整理 python 学习 开发语言
文章目录一.基础知识二.python中的数据类型三.运算符四.程序的控制结构五.列表六.字典七.元组八.集合九.字符串十.函数十一.解决bug一.基础知识print函数字符串要加引号,数字可不加引号,如print(123.4)print('小谢')print("洛天依")还可输入表达式,如print(1+3)如果使用三引号,print打印的内容可不在同一行print("line1line2line
前端数据库:IndexedDB从基础到高级使用指南
文章目录前端数据库:IndexedDB从基础到高级使用指南引言一、IndexedDB概述1.1什么是IndexedDB1.2与其他存储方案的比较二、基础使用2.1打开/创建数据库2.2基本CRUD操作添加数据读取数据更新数据删除数据三、高级特性3.1复杂查询与游标3.2事务高级用法3.3性能优化技巧四、实战案例:构建离线优先的待办事项应用4.1数据库设计4.2同步策略实现五、常见问题与解决方案5.
Redis 分布式锁深度解析:过期时间与自动续期机制
爱恨交织围巾
分布式事务 redis 分布式 数据库 微服务 学习 go
Redis分布式锁深度解析:过期时间与自动续期机制在分布式系统中,Redis分布式锁的可靠性很大程度上依赖于对锁生命周期的管理。上一篇文章我们探讨了分布式锁的基本原理,今天我们将聚焦于一个关键话题:如何通过合理设置过期时间和实现自动续期机制,来解决分布式锁中的死锁与锁提前释放问题。一、为什么过期时间是分布式锁的生命线?你的笔记中提到"服务挂掉时未删除锁可能导致死锁",这正是过期时间要解决的核心问题
08.学习闭环三部曲:预习、实时学习、复习
0058b195f4dc
人生就是一本效率手册,你怎样对待时间,时间就会给你同比例的回馈。单点突破法。预习,实时学习,复习。1、预习:凡事提前【计划】(1)前一晚设置三个当日目标。每周起始于每周日。(2)提前学习。预习法进行思考。预不预习效果相差20%,预习法学会提问。(3)《学会提问》。听电子书。2.实时学习(1)(10%)相应场景,思维导图,快速笔记。灵感笔记。(2)大纲,基本记录,总结篇。3.复习法则,(70%),最
【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(三)
笙囧同学
java 前端 状态模式
核心功能设计用户管理系统用户管理是整个系统的基础,我设计了完整的用户生命周期管理:用户注册流程验证失败验证通过验证失败验证通过用户名已存在用户名可用失败成功用户访问注册页面填写注册信息前端表单验证显示错误提示提交到后端后端数据验证返回错误信息用户名唯一性检查提示用户名重复密码加密处理保存用户信息保存成功?显示系统错误注册成功跳转登录页面登录认证机制深度解析我实现了一套企业级的多层次安全认证机制:认
对股票分析时要注意哪些主要因素?
会飞的奇葩猪
股票 分析 云掌股吧
众所周知,对散户投资者来说,股票技术分析是应战股市的核心武器,想学好股票的技术分析一定要知道哪些是重点学习的,其实非常简单,我们只要记住三个要素:成交量、价格趋势、振荡指标。
一、成交量
大盘的成交量状态。成交量大说明市场的获利机会较多,成交量小说明市场的获利机会较少。当沪市的成交量超过150亿时是强市市场状态,运用技术找综合买点较准;
【Scala十八】视图界定与上下文界定
bit1129
scala
Context Bound,上下文界定,是Scala为隐式参数引入的一种语法糖,使得隐式转换的编码更加简洁。
隐式参数
首先引入一个泛型函数max,用于取a和b的最大值
def max[T](a: T, b: T) = {
if (a > b) a else b
}
因为T是未知类型,只有运行时才会代入真正的类型,因此调用a >
C语言的分支——Object-C程序设计阅读有感
darkblue086
apple c 框架 cocoa
自从1972年贝尔实验室Dennis Ritchie开发了C语言,C语言已经有了很多版本和实现,从Borland到microsoft还是GNU、Apple都提供了不同时代的多种选择,我们知道C语言是基于Thompson开发的B语言的,Object-C是以SmallTalk-80为基础的。和C++不同的是,Object C并不是C的超集,因为有很多特性与C是不同的。
Object-C程序设计这本书
去除浏览器对表单值的记忆
周凡杨
html 记忆 autocomplete form 浏览
&n
java的树形通讯录
g21121
java
最近用到企业通讯录,虽然以前也开发过,但是用的是jsf,拼成的树形,及其笨重和难维护。后来就想到直接生成json格式字符串,页面上也好展现。
// 首先取出每个部门的联系人
for (int i = 0; i < depList.size(); i++) {
List<Contacts> list = getContactList(depList.get(i
Nginx安装部署
510888780
nginx linux
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源
java servelet异步处理请求
墙头上一根草
java 异步返回 servlet
servlet3.0以后支持异步处理请求,具体是使用AsyncContext ,包装httpservletRequest以及httpservletResponse具有异步的功能,
final AsyncContext ac = request.startAsync(request, response);
ac.s
我的spring学习笔记8-Spring中Bean的实例化
aijuans
Spring 3
在Spring中要实例化一个Bean有几种方法:
1、最常用的(普通方法)
<bean id="myBean" class="www.6e6.org.MyBean" />
使用这样方法,按Spring就会使用Bean的默认构造方法,也就是把没有参数的构造方法来建立Bean实例。
(有构造方法的下个文细说)
2、还
为Mysql创建最优的索引
annan211
mysql 索引
索引对于良好的性能非常关键,尤其是当数据规模越来越大的时候,索引的对性能的影响越发重要。
索引经常会被误解甚至忽略,而且经常被糟糕的设计。
索引优化应该是对查询性能优化最有效的手段了,索引能够轻易将查询性能提高几个数量级,最优的索引会比
较好的索引性能要好2个数量级。
1 索引的类型
(1) B-Tree
不出意外,这里提到的索引都是指 B-
日期函数
百合不是茶
oracle sql 日期函数 查询
ORACLE日期时间函数大全
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
线程优先级
bijian1013
java thread 多线程 java多线程
多线程运行时需要定义线程运行的先后顺序。
线程优先级是用数字表示,数字越大线程优先级越高,取值在1到10,默认优先级为5。
实例:
package com.bijian.study;
/**
* 因为在代码段当中把线程B的优先级设置高于线程A,所以运行结果先执行线程B的run()方法后再执行线程A的run()方法
* 但在实际中,JAVA的优先级不准,强烈不建议用此方法来控制执
适配器模式和代理模式的区别
bijian1013
java 设计模式
一.简介 适配器模式:适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。 &nbs
【持久化框架MyBatis3三】MyBatis3 SQL映射配置文件
bit1129
Mybatis3
SQL映射配置文件一方面类似于Hibernate的映射配置文件,通过定义实体与关系表的列之间的对应关系。另一方面使用<select>,<insert>,<delete>,<update>元素定义增删改查的SQL语句,
这些元素包含三方面内容
1. 要执行的SQL语句
2. SQL语句的入参,比如查询条件
3. SQL语句的返回结果
oracle大数据表复制备份个人经验
bitcarter
oracle 大表备份 大表数据复制
前提:
数据库仓库A(就拿oracle11g为例)中有两个用户user1和user2,现在有user1中有表ldm_table1,且表ldm_table1有数据5千万以上,ldm_table1中的数据是从其他库B(数据源)中抽取过来的,前期业务理解不够或者需求有变,数据有变动需要重新从B中抽取数据到A库表ldm_table1中。
HTTP加速器varnish安装小记
ronin47
http varnish 加速
上午共享的那个varnish安装手册,个人看了下,有点不知所云,好吧~看来还是先安装玩玩!
苦逼公司服务器没法连外网,不能用什么wget或yum命令直接下载安装,每每看到别人博客贴出的在线安装代码时,总有一股羡慕嫉妒“恨”冒了出来。。。好吧,既然没法上外网,那只能麻烦点通过下载源码来编译安装了!
Varnish 3.0.4下载地址: http://repo.varnish-cache.org/
java-73-输入一个字符串,输出该字符串中对称的子字符串的最大长度
bylijinnan
java
public class LongestSymmtricalLength {
/*
* Q75题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。
* 比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
*/
public static void main(String[] args) {
Str
学习编程的一点感想
Cb123456
编程 感想 Gis
写点感想,总结一些,也顺便激励一些自己.现在就是复习阶段,也做做项目.
本专业是GIS专业,当初觉得本专业太水,靠这个会活不下去的,所以就报了培训班。学习的时候,进入状态很慢,而且当初进去的时候,已经上到Java高级阶段了,所以.....,呵呵,之后有点感觉了,不过,还是不好好写代码,还眼高手低的,有
[能源与安全]美国与中国
comsci
能源
现在有一个局面:地球上的石油只剩下N桶,这些油只够让中国和美国这两个国家中的一个顺利过渡到宇宙时代,但是如果这两个国家为争夺这些石油而发生战争,其结果是两个国家都无法平稳过渡到宇宙时代。。。。而且在战争中,剩下的石油也会被快速消耗在战争中,结果是两败俱伤。。。
在这个大
SEMI-JOIN执行计划突然变成HASH JOIN了 的原因分析
cwqcwqmax9
oracle
甲说:
A B两个表总数据量都很大,在百万以上。
idx1 idx2字段表示是索引字段
A B 两表上都有
col1字段表示普通字段
select xxx from A
where A.idx1 between mmm and nnn
and exists (select 1 from B where B.idx2 =
SpringMVC-ajax返回值乱码解决方案
dashuaifu
Ajax springMVC response 中文乱码
SpringMVC-ajax返回值乱码解决方案
一:(自己总结,测试过可行)
ajax返回如果含有中文汉字,则使用:(如下例:)
@RequestMapping(value="/xxx.do") public @ResponseBody void getPunishReasonB
Linux系统中查看日志的常用命令
dcj3sjt126com
OS
因为在日常的工作中,出问题的时候查看日志是每个管理员的习惯,作为初学者,为了以后的需要,我今天将下面这些查看命令共享给各位
cat
tail -f
日 志 文 件 说 明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信
[应用结构]应用
dcj3sjt126com
PHP yii2
应用主体
应用主体是管理 Yii 应用系统整体结构和生命周期的对象。 每个Yii应用系统只能包含一个应用主体,应用主体在 入口脚本中创建并能通过表达式 \Yii::$app 全局范围内访问。
补充: 当我们说"一个应用",它可能是一个应用主体对象,也可能是一个应用系统,是根据上下文来决定[译:中文为避免歧义,Application翻译为应
assertThat用法
eksliang
JUnit assertThat
junit4.0 assertThat用法
一般匹配符1、assertThat( testedNumber, allOf( greaterThan(8), lessThan(16) ) );
注释: allOf匹配符表明如果接下来的所有条件必须都成立测试才通过,相当于“与”(&&)
2、assertThat( testedNumber, anyOf( g
android点滴2
gundumw100
应用服务器 android 网络应用 OS HTC
如何让Drawable绕着中心旋转?
Animation a = new RotateAnimation(0.0f, 360.0f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);
a.setRepeatCount(-1);
a.setDuration(1000);
如何控制Andro
超简洁的CSS下拉菜单
ini
html Web 工作 html5 css
效果体验:http://hovertree.com/texiao/css/3.htmHTML文件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>简洁的HTML+CSS下拉菜单-HoverTree</title>
kafka consumer防止数据丢失
kane_xie
kafka offset commit
kafka最初是被LinkedIn设计用来处理log的分布式消息系统,因此它的着眼点不在数据的安全性(log偶尔丢几条无所谓),换句话说kafka并不能完全保证数据不丢失。
尽管kafka官网声称能够保证at-least-once,但如果consumer进程数小于partition_num,这个结论不一定成立。
考虑这样一个case,partiton_num=2
@Repository、@Service、@Controller 和 @Component
mhtbbx
DAO spring bean prototype
@Repository、@Service、@Controller 和 @Component 将类标识为Bean
Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能够扫描类
java 多线程高并发读写控制 误区
qifeifei
java thread
先看一下下面的错误代码,对写加了synchronized控制,保证了写的安全,但是问题在哪里呢?
public class testTh7 {
private String data;
public String read(){
System.out.println(Thread.currentThread().getName() + "read data "
mongodb replica set(副本集)设置步骤
tcrct
java mongodb
网上已经有一大堆的设置步骤的了,根据我遇到的问题,整理一下,如下:
首先先去下载一个mongodb最新版,目前最新版应该是2.6
cd /usr/local/bin
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.0.tgz
tar -zxvf mongodb-linux-x86_64-2.6.0.t
rust学习笔记
wudixiaotie
学习笔记
1.rust里绑定变量是let,默认绑定了的变量是不可更改的,所以如果想让变量可变就要加上mut。
let x = 1; let mut y = 2;
2.match 相当于erlang中的case,但是case的每一项后都是分号,但是rust的match却是逗号。
3.match 的每一项最后都要加逗号,但是最后一项不加也不会报错,所有结尾加逗号的用法都是类似。
4.每个语句结尾都要加分