E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Go语言学习笔记
go语言学习笔记
3.19-3.23
并发编程并发包含以下几种主流的实现模型多进程,多进程是在操作系统层面进行并发的基本模式多线程,多线程在大部分操作系统上都属于系统层面的并发模式基于回调的非阻塞/异步IO,使用多线程模式会很快耗尽服务器的内存和CPU资源协程,协程本质上是一种用户态线程,不需要操作系统来进行抢占式调度,且在真正的实现中寄存于线程中Channel声明varchannamechanelementtype例varchcha
shangguan_1234
·
2020-08-13 18:37
go
Go语言学习笔记
8
5.Go语言流程控制方法Go语言在流程控制结构方面有些像C语言,但是在很多方面都与C不同。特点如下:在Go语言中没有do和while循环,只有一个更加广义的for语句。Go语言中的switch语句更加灵活多变。Go语言的switch语句还可以被用于进行类型判断。与for语句类似,Go语言中的if语句和switch语句都可以接受一个可选的初始化子语句。Go语言支持在break语句和continue语
Huazie
·
2020-08-13 10:35
开发语言-Go
go语言学习笔记
3.12-3.15go语言学习集合类型值/指针和引用类型s==s[:i]+s[i:]z:=37//z为int类型pi:=&z//pi为*int类型ppi:=&pi//ppi为**int类型**ppi++z=38*pi=38**ppi=381.go语言的(点)操作符能够自动地将指针解引用,因为它所指向的是结构体2.go语言中有些类型是引用类型:映射。切片。通道。函数和方法3.指针也可以指向一个引用类
shangguan_1234
·
2020-08-13 10:31
go
数据结构
Go语言学习笔记
此笔记是本人在学习Go语言过程中对知识点进行记录,以方便之后查阅学习,如果有不合理的地方欢迎各位大佬指出!1.变量使用var关键字vara,b,cbool//定义varcstring="helllo"//赋值既可以在函数体内,也可以在包内使用var()进行集中定义变量编译器可以自动判断变量类型,可以不写变量的类型可以使用:=的方式定义变量。但是这种方式只能在函数体内使用,在变量初始化时使用2.变量
csdn_LJJ0303
·
2020-08-13 09:13
go语言学习笔记
— 并发编程 — 通道channel(1):通道 —— 在多个goroutine之间通信的管道
单纯地并发执行函数是无意义的,函数之间需要交换数据才能体现并发执行的意义。虽然可以使用“共享内存”的方式交换数据,但共享内存在不同goroutine间易发生竞态问题。为了保证数据交换的正确性,必须使用互斥量对内存加锁,这会增加额外的时间开销。go使用通道channel来实现goroutine之间的通信。在食堂、地铁站等公共场所,很多人养成排队的习惯,目的是避免拥挤、插队导致的低效资源使用与交换,同
Locutus
·
2020-08-12 00:49
Golang
Go语言学习笔记
(八)golang 操作 Redis & Mysql & RabbitMQ
加Golang学习QQ群共同学习进步成家立业工作^-^群号:96933959Reids安装导入gogetgithub.com/garyburd/redigo/redisimport"github.com/garyburd/redigo/redis"链接github:https://github.com/antirez/redisDoc:http://godoc.org/github.com/gar
weixin_33688840
·
2020-08-10 23:12
go语言学习笔记
— 函数(7):闭包(closure)—— 引用了外部变量的匿名函数
闭包是引用了(函数外部)自由变量的函数。被引用的自由变量和函数一同存在,即使离开了自由变量所在的引用环境(例如在某个go源文件中导入某个package的闭包),我们仍可在闭包中继续使用这个自由变量。自由变量是闭包函数外部作用域中的变量,可能是全部变量、函数入参、局部变量。简而言之,闭包=函数+引用环境。同一个函数可以与不同引用环境结合,形成不同的闭包实例。闭包具有以下特点:函数像结构体一样,可以被
Locutus
·
2020-08-10 12:12
Golang
Go语言学习笔记
(三)数组 & 切片 & map
加Golang学习QQ群共同学习进步成家立业工作^-^群号:96933959数组Arrays数组是同一种数据类型的固定长度的序列。数组是值类型,因此改变副本的值,不会改变本身的值;当作为方法的入参传入时将复制一份数组而不是引用同一指针。通过从0开始的下标索引访问元素值。数组定义vara[]inta=make([]int,5)vara1[5]int=[5]int{1,2,3,4,5}//len:5c
weixin_30412167
·
2020-08-10 11:35
Go语言学习笔记
05--切片slice与字典map
1.数组案例//统计输入20个字符中字母出现的个数案例funccheckNumFromInput(){inputCharArr:=[20]byte{},checkNum:=[26]byte{}//输入fori:=0;i=100&&userNumpivotSlice[i]{fmt.Printf("第%d位大了\n",i+1);}else{fmt.Printf("第%d位正确\n",i+1);flag
Frank·Ming
·
2020-08-10 10:29
go语言基础
go语言学习笔记
——godoc的使用(超详细,含示例文件)
godoc使用教程注释规范注释符//后面要加空格,例如://xxx在注释符要缩进的话,第二行注释符后面的空格要比上一行的空格多一个example://123//123注释要紧跟package、const、type、func这些关键字,这样子才会被显示//功能:函数H的注释//参数://h1:说明参数值//h2:运算的数字//返回值://reValue:返回值//你会发现函数H的功能注释没有显示,这
攻城狮白玉
·
2020-08-10 05:32
go学习笔记
Go语言学习笔记
Go语言被设计成一门应用于搭载Web服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。windows安装:https://golang.google.cn/dl/一步一步按照提示安装就可以安装完成后,cmd输入go,表示已经成功安装,系统变量已经自动添加实例测试:建立一个workspacetest.gopackagemaini
Jackie Lì cs
·
2020-08-10 04:20
Go海拾遗
go语言学习笔记
go语言是啥?
xy_cpp
·
2020-08-09 03:55
闲谈
Go语言学习笔记
--- defer 、panic 、recover
学习笔记根据无闻go语言基础教程整理defer、panic、recover执行方式类似其他语言中的析构函数,在函数体执行结束后按照调用顺序的相反顺序逐个执行即使函数发生严重错误也会执行,类似finally支持匿名函数的调用常用于文件清理、文件关闭、解锁以及记录时间等操作通过与匿名函数配合可在return之后修改函数计算结果如果函数体内某个变量作为defer时匿名函数的参数,则在定义defer时即已
Johnny丶me
·
2020-08-06 11:25
Golang
go语言
defer
panic
recover
go语言学习笔记
——运行报错exec: "gcc": executable file not found in %PATH%
go语言运行报错——exec:“gcc”:executablefilenotfoundin%PATH%报错背景:之前我使用我自己的笔记本写的go语言程序,换了公司的新电脑后,居然报错,后面发现,原来新电脑里我只装了go的环境,不像我的笔记本一样有gcc的环境报错系统:win10_x64报错内容:exec:“gcc”:executablefilenotfoundin%PATH%这是因为你的电脑没有g
攻城狮白玉
·
2020-08-06 10:24
go学习笔记
GO语言学习笔记
一
开始golang之旅这几天开始接触golang,也开始接触一些开源的东西,以前都是windows下VisualStdio的coder,对于windows的熟悉和习惯还是很难改掉的,也曾经用过几次*nix系统,但是始终是没有坚持下来,这次学golang,开始也是在windows上搞来搞去,安装sublimetext2写go还是觉得很爽的,但是接触go的越多,就越发现windows下的麻烦,最终还是转
yxacII
·
2020-08-04 23:29
golang
Go语言学习笔记
整理
作者背景介绍:从2010年毕业开始,一直到2019年,都在通讯行业做大型后端服务器的开发,使用的语言主要是C++,涉及到的产品包括RNC(2G里面叫做BSC),核心网EPG(5G里面叫做SMF),经历了3G到4G到5G的整个流程,算是有些经验的通讯后端大型服务器开发人员吧。2019年换行业到互联网,做云平台后端相关内容的开发,现在主要方向是CDN,语言相应的换成了GO语言。作为一个C++开发者,在
zhghost
·
2020-08-04 22:57
GO 语言学习笔记
20个小时快速入门
GO语言学习笔记
:https://www.bilibili.com/video/av20432910?
冲鸭,屎壳郎
·
2020-08-04 22:39
GO
Go语言学习笔记
(1)--发展背景和性能
GO语言学习笔记
起源背景:综合C/C++执行速度快和Java、.NET的编译速度快的优点,达到高效高质量开发的一种语言。
xclhs
·
2020-08-04 22:36
学习
go
GO语言学习笔记
(五)并发、通道、反射
并发golang支持逻辑上处理多个任务即并发,golang中的coroute协程的支持是优秀的,其本质上利用了多线程和协程配合提高处理器时间片的利用率。使用go可以创建一个并发单元,使用WaitGroup可以让主线程等待并发单元执行完再推出。关于golang中并发的详细设计可以参考:https://blog.csdn.net/wjb123sw99/article/details/105413639
时暑
·
2020-08-04 21:35
GO
Go语言学习笔记
——方法
方法的声明方法的声明和普通函数类似,只是在函数名字前面多了一个参数,这个参数把这个方法绑定到这个参数对应的类型上,例:typePointstruct{X,Yfloat64}func(pPoint)Distance(qPoint)float64{returnmath.Hypot(q.X-p.X,q.Y-p.Y)}指针接收者的方法由于主调函数会复制每一个实参变量,如果函数需要更新一个变量,或者如果一个
west_liu
·
2020-08-04 21:50
Go
Go语言学习笔记
——函数
函数声明每个函数都包含一个名字、一个形参列表、一个可选的返回列表以及函数体:funcname(parameter-list)(result-list){body}当函数存在返回列表时,必须显示地以return语句结束,除非函数明确不会走完整个执行流程,比如在函数中抛出宕机异常挥着函数体内存在一个没有break退出条件的无限for循环函数的类型称为函数签名,当两个函数拥有相同的形参列表和返回值列表时
west_liu
·
2020-08-04 21:19
Go
学习《
GO语言学习笔记
》的学习笔记之8.2 通道 (详解)
本文适合初学者阅读通道从底层实现上来说,通道只是一个队列,分为同步和异步两种模式同步模式,发送和接收双方配对,然后直接复制数据给对方,若配对失败,则置入等待队列,直到另一方出现后才被唤醒.异步模式,抢夺的则是数据缓冲槽,发送方要求有空槽可供写入,接收方则要求有缓冲数据可读.需求不符时,同样加入等待队列,直到有另一方写入数据或腾出空槽后被唤醒.通道除传递数据外,还常被用作事件通知packagemai
诸葛老刘
·
2020-08-04 20:09
GO学习
GO语言学习笔记
(三) - 递归查找目录及子目录下的文件
GO语言学习笔记
(三)-递归查找目录及子目录下的文件递归查找目录及子目录下的文件递归查找文件夹及子文件夹下的文件代码packagemainimport("fmt""io/ioutil""os""strings
weixin_33743703
·
2020-08-04 20:49
go语言学习笔记
1、如果声明了的变量,或则引入了进来的包是没用过的,那么编译失败,statusreturn2,但是如果是一个全局变量不用,是可以的。2、已经赋值了的变量不能再次赋值,不能用:=再次赋值。但是是可以用=继续赋值的。packagemainimport("fmt")funcmain(){varcint=2;vard=2;d=3;//cannotuse:=replacethedfmt.Println(c)
weixin_30337157
·
2020-08-04 19:47
go语言学习笔记
(一)
在go语言里,同时要满足main包和包含main()函数,才会被编译成一个可执行文件。变量声明声明一个变量vartmp_strstring="helloworld"同时声明两个变量vartmp_str,tmp_str2 string="helloworld","hellogo"不声明类型自动推断vartmp_str,tmp_str2 ="helloworld","hellogo"//可以同时声明多
未来老干部
·
2020-08-04 19:42
go
go语言学习笔记
,特点
1、并发编程Go语言在并发编程方面比绝大多数语言要简洁不少,这一点是其最大亮点之一,也是其未来进入高并发高性能场景的重要筹码。golang的并发执行单元是一种称为goroutine的协程。协程又称为微线程,比线程更轻量、开销更小,性能更高。操作起来非常简单。语言级别提供关键字go用于启动协程,并且在同一台机器上可以启动成千上万个协程。协程间一般由应有程序显式实现调度,上下文切换无需下到内核层,高效
aFakeProgramer
·
2020-08-04 19:07
Go语言
Go语言学习笔记
1
1.Go语言环境搭建及基础知识Go语言官方网站(http://golang.org)代码包文档网站(http://godoc.org)Go语言中文网(http://studygolang.com)Go语言开发包下载路径:go1.6.2.linux-amd64(包含part1和part2两部分,下载后一起解压)http://download.csdn.net/download/u012855229/
Huazie
·
2020-08-04 19:51
开发语言-Go
Go语言学习笔记
10:使用 github.com/weilaihui/fdfs_client 连接 fastDFS时,遇到了cannot find package "golang.org/x/的报错
今天在尝试使用weilaihui/fdfs_client时,一直无法通过编译,主要的报错有两处:./github.com/Sirupsen/logrus/terminal_check_notappengine.go:9:2:cannotfindpackage"golang.org/x/crypto/ssh/terminal"./golang.org/x/crypto/ssh/terminal/ut
BigPomme
·
2020-08-04 19:14
Go语言学习笔记
-1
第一章关于Go语言1.1背景1.2Go语言特性1.2.1开发速度1.2.2并发Go语言对并发的支持是这门语言最重要的特性之一。goroutine很像线程,但是它占用的内存远少于线程,使用它需要的代码更少。通道(channel)是一种内置的数据结构,可以让用户在不同的goroutine之间同步发送具有类型的消息。这让编程模型更倾向于在goroutine之间发送消息,而不是让多个goroutine争夺
ice_skyofstars
·
2020-08-04 14:43
Go
go语言学习笔记
(一)
学习资料不是很多,需要有一定的编码基础,最好是本身就会一门到几门开发语言的,这样能快点。1.main函数:作为程序的入口,main函数在定义上与其他语言没有什么特别大的区别,唯一区别是package需要也是mainpackagemainfuncmain(){println("helloword")}2.属性定义及赋值funcmain(){vara="abcd"varbint=100c:=200}3
不怎么迷糊
·
2020-08-04 14:56
goland
go语言学习笔记
(三)
并发1.通过go关键字创建并发任务packagemainfuncmain(){goprintln("helloword")}packagemainfuncmain(){goprintln("helloword")gofunc(sstring){println(s)}("helloword")}2.与defer一样,goroutine也会因延迟执行而立即计算并复制执行参数。packagemainim
不怎么迷糊
·
2020-08-04 14:56
goland
(七)
Go语言学习笔记
- 接口(interface)
目录1接口简单使用场景2什么是接口2.1details2.2经典调用接口的实例2.3接口和继承的关系3多态4断言4.1示例4.2示例1接口简单使用场景packagemainimport("fmt")//定义一个Usb接口typeUsbinterface{Start()Stop()}//定义手机结构体typePhonestruct{}//让Phone实现Usb接口的方法func(pPhone)Sta
RSQ博客
·
2020-08-04 12:38
Golang
go语言学习笔记
小编商学院毕业误打误撞进入区块链这个新领域,本着既来之则安之的心态想着在这个领域继续待下去,为了未来职业生涯的可持续发展,小便开始接触编程知识,鉴于大部分区块链代码是go语言编写,所以尝试开始学习go语言,整理了一下学习笔记。包、标量和函数打印的概念:Println:换行打印;打印的内容中如果含有一句话,加双引号后表示字符串。例子:fmt.Println("Myfavoritenumberis"
wup1023
·
2020-08-04 11:56
技术学习
GO语言学习笔记
—Hello word
helloword环境/工具安装编码规范第一个程序,helloword程序解读1、声明包【关键字package】2、导入包【关键字import】3、声明函数【关键词func】环境/工具安装环境已经工具我们此处选择了vscode集成环境,我们在vscode中搜索Go语言相关的插件即可安装,这里我们不再过多的描述,网上由很多比较好的教程,可以根据自己的操作系统自行参考。编码规范从上一节我们得知Go语的
point_to_line
·
2020-08-04 11:20
笔记
go
GO语言学习笔记
—语言背景
语言发展主要作者设计目的语言特性Go语言的用途哪些项目在使用GO语言那些大公司在使用Go语言主要作者罗伯特·格瑞史莫(RobertGriesemer):GoogleV8、Chubby和HotSpotJVM的主要贡献者。罗勃·派克(RobPike):Unix、UTF-8、plan9的作者。肯·汤普逊(KenThompson):B语言、C语言的作者、Unix之父。设计目的Go语言出生名门,当时设计Go
point_to_line
·
2020-08-04 11:19
go
笔记
GO语言学习笔记
—基础数据类型
基础语法数据类型布尔型数字类型字符串类型派生类型byte与rune引用类型与值类型变量声明变量声明一般使用var关键字类型推断:=声明初始化操作符声明多个变量数据类型布尔型布尔型的值只可以是常量true或者false数字类型整形:int、uint,其中又可细分为uint8、int8、uint16、int16、uint32、int32、uint64、int64;我们都知道我们现在的电脑基本是32位或
point_to_line
·
2020-08-04 10:27
笔记
go
go
golang
go语言学习笔记
2,iota枚举,算术运算符,类型转换
1.a枚举格式如果写在一行中值相等如果换行值在上一行加一2.ta只需要对第一个进行iota赋值后面会依次增长3.iota自定义枚举量今天学到的一个有用的东西就是在go语言中自增自减不能出现在表达式中这样子写就会报错,因为二义性在不同操作系统中运算方式不同结果可能会产生偏差但是相对于Java语言就不会,它会有先自增或者先自减以上就是在Java中测试。但是go语言和Java中整形除以整形时得到的结果还
盛难晨
·
2020-08-03 23:15
Golang
Sublime Text 3配置Go语言开发环境
Go语言环境搭建可参考笔者的另一篇博文
Go语言学习笔记
1。
Huazie
·
2020-08-01 02:45
开发语言-Go
go语言
sublime-text-3
GoSublime
go语言学习笔记
— 接口 — 接口的嵌套组合:把多个接口放到一个接口内
在go中,结构体可以内嵌,创建出新的结构体;同理,接口也可以内嵌,创建出新的接口。接口与接口嵌套组合生成新接口,只要接口的所有方法都被实现,则这个接口中的所有嵌套接口均可被调用。系统包中的接口嵌套组合io包定义了写入器(Writer)、关闭器(Closer)和写入关闭器(WriteCloser)3个接口,代码如下://写入接口typeWriterinterface{Write(p[]byte)}/
Locutus
·
2020-07-30 18:20
Golang
Go语言学习笔记
(五) [函数]
日期:2014年7月29日1、函数定义:func(ptype)funcname(qint)(r,sint){return0,0}func:保留字,用于定义一个函数(ptype):可选的,用于定义特定的函数类型,俗称方法。funcname:函数名(qint):q作为输入参数,在Go中函数参数是按传值方式传递的。(r,sint):变量r,s是这个函数的命名返回值,在Go中函数可以返回多个值,如果不想对
知行旅人
·
2020-07-30 18:14
Go
学习《
GO语言学习笔记
》的学习笔记之4.3 函数之返回值 (详解)
本文适合初学者阅读有返回值的函数,必须有明确的return终止语句.除非有panic或者无break的死循环,则无须return终止语句.可以返回更多状态,尤其是error模式.packagemainimport("errors""fmt")funcdiv(x,yint)(int,error){//多个返回状态,必须使用()包起来ify==0{return0,errors.New("divisio
诸葛老刘
·
2020-07-30 17:43
GO学习
学习GO语言的笔记
go语言学习笔记
— 函数(2):函数的返回值
go语言支持多返回值,可方便地获取函数调用后的多个返回值。go语言经常使用多返回值中的最后一个参数返回函数执行中可能发生的错误。conn,err:=connectToNetwork(),上面的代码返回两个参数,conn表示连接对象,err返回错误。下文中的”指定返回值”,仅指return后面直接跟着返回值。1.函数不指定返回值packagemainimport("fmt")//函数返回值为空fun
Locutus
·
2020-07-30 13:15
Golang
go语言学习笔记
1
吉祥物:金花鼠官网::golang.org云计算应用:CDN(内容分发网络),访问网址加载视频速度很快go语言特点:机能达到静态语言的安全和性能(c语言),也达到动态语言的开发维护效率(python)go语言包的概念:每个文件都属于一个包,main函数必须在main包go语言引入垃圾回收机制:内存自动回收,不需要开发人员关注go语言天然并发:goroutine,轻量级线程go语言开发工具:VSCo
猫小宝
·
2020-07-30 08:50
go语言
GO语言学习笔记
2-int类型的取值范围
相比于C/C++语言的int类型,GO语言提供了多种int类型可供选择,有int8、int16、int32、int64、int、uint8、uint16、uint32、uint64、uint。文章目录1.各int类型的取值范围如下2.关于int类型3.代码示例4.总结1.各int类型的取值范围如下int8:-128~127int16:-32768~32767int32:-2147483648~21
Codeapes
·
2020-07-29 17:56
GO
GO语言学习笔记
Go语言学习笔记
(九)并发
并发性ConcurrencyGo是并发语言,而不是并行语言。在讨论如何在Go中进行并发处理之前,我们首先必须了解什么是并发,以及它与并行性有什么不同。(Goisaconcurrentlanguageandnotaparallelone.)并发性Concurrency是同时处理许多事情的能力。举个例子,假设一个人在晨跑。在晨跑时,他的鞋带松了。现在这个人停止跑步,系鞋带,然后又开始跑步。这是一个典型
恋上一缕阳光
·
2020-07-29 06:02
Go
Go
Go语言学习笔记
(七) 系统类型
系统类型对于面向对象编程的支持Go语言设计得非常简洁而优雅。简洁之处在于,Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承、虚函数、构造函数和析构函数、隐藏的this指针等。优雅之处在于,Go语言对面向对象编程的支持是语言类型系统中的天然组成部分。整个类型系统通过接口串联,浑然一体。在Java语言中,存在两套完全独立的类型系统:一套是值类型系统,主要是基本类型,如byte、int、bool
恋上一缕阳光
·
2020-07-29 06:31
Go
Go语言学习笔记
(八) 面向对象
go并不是一个纯面向对象的编程语言。在go中的面向对象,结构体替换了类。Go并没有提供类class,但是它提供了结构体struct,方法method,可以在结构体上添加。提供了捆绑数据和方法的行为,这些数据和方法与类类似。定义结构体和方法创建一个外部可访问的Employee结构体,并为这个结构体定义一个方法LeavesRemaining()packageemployeeimport("fmt")t
恋上一缕阳光
·
2020-07-29 06:31
Go
Go
Go语言学习笔记
-聊天系统服务器与客户端
服务器服务器就是有一个持续获取连接的动作,for循环实现,for循环开启处理消息的协程,处理消息的函数,接收消息并将消息写入缓冲信道。还有一个广播函数,用来将收到的消息发给所有与服务器连接的地址。packagemainimport("net""os")funcmain(){port:=":8080"//端口Start(port)}funcStart(pstring){tcpAddr,err:=ne
努力的夏目_1bbc
·
2020-07-27 12:43
go语言学习笔记
- float and string 转换
StringtofloatUsethestrconv.ParseFloatfunctiontoparseastringasafloating-pointnumberwiththeprecisionspecifiedbybitSize:32forfloat32,or64forfloat64.funcParseFloat(sstring,bitSizeint)(float64,error)Whenbi
晓峰好神奇
·
2020-07-16 09:30
技术
go
golang
Golang变量(来自菜鸟教程,
go语言学习笔记
)
Go语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。声明变量的一般形式是使用var关键字:varidentifiertype变量声明第一种,指定变量类型,声明后若不赋值,使用默认值。varv_namestringv_name=“菜鸟”第二种,根据值自行判定变量类型。varv_name=“菜鸟”第三种,省略var,注意:=左侧的变量不应该是已经声明过的,否则会导致编译错误。v_name:
IT 哈
·
2020-07-16 05:24
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他