diaome2305
码龄8年
求更新 关注
提问 私信
  • 博客:6,456
    6,456
    总访问量
  • 暂无
    原创
  • 0
    粉丝
  • 0
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:美国
加入CSDN时间: 2017-03-24
查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得0次评论
  • 获得11次收藏
  • 博客总排名1,554,947名
  • 原力等级
    原力等级
    0
    原力分
    0
    本月获得
    0
创作历程
  • 25篇
    2019年
  • 5篇
    2018年

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

75人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

正则表达式

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。简单来说就是用一串特殊格式的字符来找到全部符合一定要求的字符串,也可以用字符串来匹配判断正则表达式。而搜索的方式可以理解为DFA或者NFA的过程。对于正则表达式,...
转载
博文更新于 2019.09.27 ·
783 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

从零开始学Go之并发(二):通道

由于goroutine中资源共享内存,为了避免互斥等问题保证数据正确性,引入通道的概念(channel)Go 语言中的通道(channel)是一种特殊的类型。在任何时候,同时只能有一个 goroutine 访问通道进行发送和获取数据。goroutine 间通过通道就可以通信。通道像一个传送带或者队列,总是遵循先入先出(First In First Out)的规则,保证收发数据的顺...
转载
博文更新于 2019.09.27 ·
194 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之并发(四):互斥

通常使用互斥锁(Mutex)这一数据结构来保证每次只有一个 Go 程能够访问一个共享的变量sync.Mutex:Go 标准库中提供了sync.Mutex互斥锁类型及其两个方法:Lock()Unlock()我们可以通过在代码前调用Lock方法,在代码后调用Unlock方法来保证一段代码的互斥执行用defer语句来保证互斥锁一定会被解锁// Safe...
转载
博文更新于 2019.09.27 ·
202 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之并发(三):Select

select 是 Go 中类似于用于通信的 switch 语句。每个 case 必须是一个通信操作,要么是发送要么是接收select 随机执行一个可运行的 case,如果没有 case 可运行,它将阻塞,直到有 case 可运行一个默认的子句应该总是可运行的当select中的其它分支都没有准备好时,default分支就会执行select {case 操作}...
转载
博文更新于 2019.09.27 ·
183 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之接口(三):常用内置接口

Stringers:fmt包中定义的Stringer是最普遍的接口之一。type Stringer interface { String() string}Stringer是一个可以用字符串描述自己的类型。fmt包(还有很多包)都通过此接口来打印值。type Person struct { Name string Age int}​...
转载
博文更新于 2019.09.27 ·
414 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之并发(一):Go程

Go 程(goroutine)是由 Go 运行时管理的轻量级线程。当一个goroutine创建时,会和其他goroutine一起并发运行, goroutine 由 Go 程序运行时的调度和管理。Go 程序从 main 包的 main() 函数开始,在程序启动时,Go 程序就会为 main() 函数创建一个默认的 goroutine所有 goroutine 在 main() 函...
转载
博文更新于 2019.09.27 ·
174 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之接口(一):接口

接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式、类型及结构。声明:接口类型是由一组方法签名定义的集合type 接口类型名 interface{方法名1( 参数列表1 ) 返回值列表1方法名2( 参数列表2 ) 返回值列表2…}typ...
转载
博文更新于 2019.09.27 ·
178 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之函数(三):宕机与恢复

延迟执行defer:当某些语句需要函数结束时才使用时,可以使用defer语句最常用的就是在打开os.Open后加入Close()时用defer避免程序结束未关闭文件defer 语句例子:func main() { fmt.Println("test") for i:=0;i<3 ;i++ { fmt.Println(i) defer...
转载
博文更新于 2019.09.27 ·
122 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之接口(二):类型断言与类型选择

类型断言:类型断言提供了访问接口值底层具体值的方式。变量名 := 接口名.(判断类型名)var i interface{} = "hello"s := i.(string) //f := i.(float64) //编译错误,因为i的值不为float64当只有一个返回值时,返回值为对应类型的值,而判断类型名与接口值类型不对应时,程序会宕机panic此时...
转载
博文更新于 2019.09.27 ·
203 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

从零开始学Go之容器(四):列表

链表内部的实现原理是双链表,可以高效地进行任意位置的元素插入和删除操作类似的还有堆heap和环列表ring,声明和初始化的方式是相同的,只是原理以及操作的函数不同,当理解了原理操作也是很简单的。声明与初始化:list 的初始化有两种方法:New 和声明。两种方法的初始化效果都是一致的。变量名 := list.New()var 变量名 list.List/...
转载
博文更新于 2019.09.27 ·
122 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之函数(一):匿名函数与闭包

匿名函数:匿名函数类似于函数声明,但是没有函数名func (函数参数列表) (函数返回值列表){函数内部代码}在函数声明后可以加入参数直接调用func main() { g := func(a int) uint { //匿名函数 return uint(a + 14) }(10) //声明后调用 f := func(a int) uint ...
转载
博文更新于 2019.09.27 ·
104 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之容器(三):映射

map 是一种特殊的数据结构:一种元素对(pair)的无序集合,pair 的一个元素是 key,对应的另一个元素是 value,所以这个结构也称为关联数组或字典。声明:var 映射名称 map[键类型]值类型var map1 map[string]intkey 可以是任意可以用 == 或者 != 操作符比较的类型,比如 string、int、floatv...
转载
博文更新于 2019.09.27 ·
134 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之基本(五):结构体

结构体:声明:type 结构体名 struct{​ 结构体内部字段​}例子:type UserInfo struct { Id string `json:"id"` Name string `json:"name"` Headpicture string `json:"headpicture"` Info s...
转载
博文更新于 2019.09.27 ·
109 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之容器(二):切片

切片(slice)是对数组一个连续片段的引用(该数组我们称之为相关数组,通常是匿名的),所以切片是一个引用类型。切片的内部结构包含开始位置地址(&)、大小(len)和容量(cap)。切片并不存储任何数据,它只是描述了底层数组中的一段。更改切片的元素会修改其底层数组中对应的元素。声明:var 数组名 []类型var a []int切片的声明...
转载
博文更新于 2019.09.27 ·
139 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之容器(一):数组

数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成声明:var 数组名 [数组长度]类型var a [10]int//第一个元素a[0],最后一个元素a[len(a)-1]数组长度在声明后不能改变,因为长度是类型的一部分。数组的下标是从0开始,到长度len-1为止,长度为3的数组下标对应0,1,2初始化:var ...
转载
博文更新于 2019.09.27 ·
98 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之基本(三):类型转换与常量

类型转换:简单类型转换:(一般是数字之间的转换)表达式:转换类型(转换值)func main() { var i = 42 f := float64(i) var u = uint(f) var p = string(i)//会改变值 fmt.Printf("i type=%T
",i) fmt.Printf("f type=%T
",f...
转载
博文更新于 2019.09.27 ·
160 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之基本(四):流程控制语句

Go中的流程控制语句有:if(else),for,switchif:(判断流程控制)关键字 if 是用于测试某个条件(布尔型或逻辑型)的语句,如果该条件成立,则会执行 if 后由大括号括起来的代码块,否则就忽略该代码块继续执行后续的代码(跟C不同,Go中的if不需要加括号)单个判断:if 判断条件 {​ 执行代码块​}如果要增加一个...
转载
博文更新于 2019.09.27 ·
127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之基本(二):包、函数声明与格式化输出

包:每个go程序在开头都要有一个package来声明当前包其中包含main函数的包必须为main包来声明入口从零开始学Go之基本(二):包、函数声明与格式化输出导入包:import 包名称//import "fmt" 单个导入import ( "fmt" "math")引用其他包时必须通过import来获取,根据包中的变量...
转载
博文更新于 2019.09.27 ·
103 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++ vector容器使用

准备:头文件:#include<vector>使用:一般声明:vector<{type}> {name,value[可选]}例:vector<int> a;声明一个int数组a[],大小可以改变可以用vector来初始化vector:vector<int> b(a);//声明并用向量a初始化向量bvector&l...
转载
博文更新于 2019.09.27 ·
85 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零开始学Go之HelloWorld

第一步:环境安装①下载Gohttps://studygolang.com/dl找到对应操作系统以及版本进行下载(如果下载不了就“你懂得”吧)选择msi安装会方便很多(我自己的安装目录D:/Go)②在D盘根目录下创建的一个文件夹GOPATH,进入后再创建三个文件夹并重命名为bin,src,pkg③右键我的电脑-属性-高级管理设置-环境变量...
转载
博文更新于 2019.09.27 ·
139 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多