先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注go)
正文
函数 | 用途 | 举例 | 结果 |
toYear() | 取日期或时间日期的年份 | toYear(toDateTime(‘2018-12-11 11:12:13’)) toYear(toDate(‘2018-12-11’)) | 返回 2018 返回 2018 |
toMonth() | 取日期或时间日期的月份 | toMonth(toDateTime(‘2018-12-11 11:12:13’)) toMonth(toDate(‘2018-12-11’)) | 返回 12返回 12 |
toDayOfMonth() | 取日期或时间日期的天(1-31) | toMonth(toDayOfMonth(‘2018-12-11 11:12:13’)) toMonth(toDayOfMonth(‘2018-12-11’)) | 返回 11返回 11 |
toDayOfWeek() | 取日期或时间日期的星期(星期一为1,星期日为7)。 | toDayOfWeek(toDateTime(‘2018-12-11 11:12:13’)) toDayOfWeek(toDate(‘2018-12-11’)) | 返回 2返回 2 |
toHour() | 取时间日期的小时 | toHour(toDateTime(‘2018-12-11 11:12:13’)) | 返回 11 |
toMinute() | 取时间日期的分钟 | toMinute(toDateTime(‘2018-12-11 11:12:13’)) | 返回 12 |
toSecond() | 取时间日期的秒 | toSecond(toDateTime(‘2018-12-11 11:12:13’)) | 返回 13 |
toMonday() | 取时间日期最近的周一(返回日期) | toMonday(toDate(‘2018-12-11’)) toMonday(toDateTime(‘2018-12-11 11:12:13’)) | 返回 2018-12-10返回 2018-12-10 |
toTime() | 将时间日期的日期固定到某一天,保留原始时间 | toTime(toDateTime(‘2018-12-11 11:12:13’)) | 返回 1970-01-02 11:12:13 |
1.2 时间或日期截取函数(toStartOf)—— 返回日期
函数 | 用途 | 举例 | 结果 |
toStartOfMonth() | 取日期或时间日期的月份的第一天,返回日期 | toStartOfMonth(toDateTime(‘2018-12-11 11:12:13’))toStartOfMonth(toDate(‘2018-12-11’)) | 返回 2018-12-01返回 2018-12-01 |
toStartOfQuarter() | 取日期或时间日期的季度的第一天,返回日期 | toStartOfQuarter(toDateTime(‘2018-12-11 11:12:13’))toStartOfQuarter(toDate(‘2018-12-11’)) | 返回 2018-10-01返回 2018-10-01 |
toStartOfYear() | 取日期或时间日期的年份的第一天,返回日期 | toStartOfYear(toDateTime(‘2018-12-11 11:12:13’))toStartOfYear(toDate(‘2018-12-11’)) | 返回 2018-01-01返回 2018-01-01 |
toStartOfMinute() | 截取时间日期到分钟(之后归零),返回日期 | toStartOfMinute(toDateTime(‘2018-12-11 11:12:13’)) | 返回 2018-12-11 11:12:00 |
toStartOfFiveMinute() | 截取时间日期到最近的5的倍数分钟(之后归零),返回日期 | toStartOfFiveMinute(toDateTime(‘2018-12-11 11:12:13’)) | 返回 2018-12-11 11:10:00 |
toStartOfFifteenMinutes() | 截取时间日期到最近的15的倍数分钟(之后归零),返回日期 | toStartOfFifteenMinutes(toDateTime(‘2018-12-11 11:12:13’)) | 返回 2018-12-11 11:00:00 |
toStartOfHour() | 截取时间日期到小时(之后归零),返回日期 | toStartOfHour(toDateTime(‘2018-12-11 11:12:13’)) | 返回 2018-12-11 11:00:00 |
toStartOfDay() | 截取时间日期到天(之后归零),返回日期 | toStartOfDay(toDateTime(‘2018-12-11 11:12:13’)) | 返回 2018-12-11 00:00:00 |
timeSlot() | 将时间日期中,分钟大于等于30的归于30,分钟数小于30的归为00 | timeSlot(toDateTime(‘2018-12-11 11:33:13’))timeSlot(toDateTime(‘2018-12-11 11:33:13’)) | 返回 2018-12-11 11:00:00返回 2018-12-11 11:30:00 |
1.3 日期或时间日期生成函数
函数 | 用途 | 举例 | 结果 |
---|---|---|---|
now() | 生成当前时间日期 | now() | 返回 2018-12-13 10:10:12 |
today() | 生成今天的日期 | today() | 返回 2018-12-13 |
yesterday() | 生成昨天的日期 | yesterday() | 返回 2018-12-12 |
2、类型转化类函数
2.1 精度保留(非四舍五入)
函数 | 用途 | 举例 | 结果 |
toDecimal32(‘whdwjfew’,8) | 将数值型或者含有非数字的字符串进行精度保留 | toDecimal32(23.12291, 3)toDecimal32(’_23.12291’, 3) | 返回 23.122返回 0.000 |
toDecimal64(‘whdwjfew’,8) | 将数值型或者含有非数字的字符串进行精度保留 | toDecimal64(23.12291, 3)toDecimal64(’_23.12291’, 3) | 返回 23.122返回 0.000 |
toDecimal128(‘whdwjfew’,8) | 将数值型或者含有非数字的字符串进行精度保留 | toDecimal128(23.12291, 3)toDecimal128(’_23.12291’, 3) | 返回 23.122返回 0.000 |
2.2 字符串转化为整数(非整数的字符串返回0)
函数 | 用途 | 举例 | 结果 |
toUInt8OrZero() | 将无符号整数字符型转化为整数型,否则返回0 | toUInt8OrZero(‘123’)toUInt8OrZero(‘123.12’) | 返回 123返回 0 |
toInt8OrZero() | 将整数字符型转化为整数型,否则返回0 | toInt8OrZero(‘123’)toInt8OrZero(’-123’) | 返回 123返回 -123 |
toFloat32OrZero() | 将数值字符串型转化为数值型,注意:从toFloat32OrZero开始,丢32的没有对应的函数 | toFloat32OrZero(‘-123’)toFloat32OrZero(‘123.123’) | 返回 -123返回 123.123 |
2.3 日期与时间日期转化
函数 | 用途 | 举例 | 结果 |
toDate() | 将字符型日期转化为日期型 | toDate(‘2018-12-24’) | 返回 2018-12-24 |
toDateTime() | 将字符型时间日期转化为时间日期型 | toDateTime(‘2018-12-24 10:10:00’) | 返回 2018-12-24 10:10:00 |
2.4 转化为字符型
函数 | 用途 | 举例 | 结果 |
---|---|---|---|
toString() | 将数值型、字符型、日期等转化为字符型 | toString(‘2018-12-24’)toString(‘123’) | 返回 2018-12-24返回 123 |
2.5 查看数据类型
函数 | 用途 | 举例 | 结果 |
---|---|---|---|
toTypeName() | 返回数据的类型 | toTypeName(toString(‘123’))toTypeName(toDate(‘2018-12-24’)) | 返回 String返回 Date |
3、字符串操作
3.1 基本字符串操作
函数 | 用途 | 举例 | 结果 |
---|---|---|---|
empty() | 判断字符串是空为1,否则为0 | empty(’’)empty(‘123a’) | 返回 1返回 0 |
notEmpty() | 判断字符串是非空为1,否则为0 | notEmpty(’’)notEmpty(‘123a’) | 返回 0返回 1 |
length() | 返回字符串的长度 | length(’’)length(‘123a’) | 返回 0返回 4 |
lower() | 将字符串转为小写 | lower(‘aBc’) | 返回 abc |
upper() | 将字符串转为大写 | upper(‘aBc’) | 返回 ABC |
reverse() | 将字符串反转 | reverse(‘abc’) | 返回 cba |
substring(s, offset, length) | 字符串截取 | substring(‘123abcABC’, 2, 3) | 返回 23a |
appendTrailingCharIfAbsent(s, c) | 如果字符串s非空,则将s后追加一个字符c(s最后一个字符与c不同),否则不处理 | appendTrailingCharIfAbsent(‘123abc’, ‘b’)appendTrailingCharIfAbsent(‘123abc’, ‘c’) | 返回 123abcb返回 123abc |
3.2 字符串查找
函数 | 用途 | 举例 | 结果 |
match(haystack,pattern) | 字符串正则匹配,返回0或1 | match(‘avhsca’,'vh’) | 返回 1 |
extract(haystack,pattern) | 返回匹配到的第一个子串 | extract(‘iioomAj12123124OOBJB’, ‘\d+’) | 返回 12123124 |
extractAll(haystack,pattern) | 返回匹配到的所有子串,输出列表 | extractAll(‘iioomAj12123124OOBJ123B’, ‘\d+’) | 返回 [12123124,123] |
like(haystack,pattern) | 匹配到的数据返回1,否则返回0 | like(‘avhsca’,’%vh%’)like(‘avhsca’,’%vabjh%’) | 返回 1返回 0 |
notLike(haystack, pattern) | 与like()函数相反 | notLike(‘avhsca’,’%vh%’)notLike(‘avhsca’,’%vabjh%’) | 返回 0返回 1 |
3.3 字符串替换
函数 | 用途 | 举例 | 结果 |
replaceOne(haystack,pattern,replacement) | 替换第一个匹配到的pattern | replaceOne(‘asd123cbbj464sd’, ‘sd’, ‘-’) | 返回 a-123cbbj464sd |
replaceAll(haystack,pattern,replacement) | 替换所有匹配到的pattern | replaceOne(‘asd123cbbj464sd’, ‘sd’, ‘-’) | 返回 a-123cbbj464- |
replaceRegexpOne(haystack, pattern, replacement) | 正则匹配替换第一个匹配到的pattern | replaceRegexpOne(‘Hello, World!’, ‘o’, '- ') | 返回 Hell- , World! |
replaceRegexpAll(haystack,pattern,replacement) | 正则匹配替换所有匹配到的pattern | replaceRegexpAll(‘Hello, World!’, ‘^’, 'here: ')replaceRegexpAll(‘Hello, World!’, ‘o’, '-- ') | 返回 here: Hello, World!返回 Hell-- , W-- rld! |
3.4 字符串分割
函数 | 用途 | 举例 | 结果 |
splitByChar(separator, s) | 以单个字符分割字符串 | splitByChar(’-’, ‘qw-asaf-asfqw-2312-asd’) | 返回 [‘qw’,‘asaf’,‘asfqw’,‘2312’,‘asd’] |
splitByString(separator, s) | 以单个或多个字符分割字符串 | splitByString(’-’, ‘qw-asaf-asfqw-2312-asd’)splitByString(’-a’, ‘qw-asaf-asfqw-2312-asd’) | 返回 [‘qw’,‘asaf’,‘asfqw’,‘2312’,‘asd’]返回 [‘qw’,‘saf’,‘sfqw-2312’,‘sd’] |
3.5 字符串拼接
函数 | 用途 | 举例 | 结果 |
---|---|---|---|
concat(s1,s2,…) | 将字符串拼接 | concat(‘123’, ‘abc’, ‘ABC’) | 返回 123abcABC |
4、条件语句
| 函数 | 用途 | 举例 | 结果 |
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-xihGED5S-1713292537069)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!