- 博客(24)
- 收藏
- 关注
原创 Golang 学习笔记 - 常用包
常用包json结构体序列化切片序列化json 反序列化time获取当前时间戳获取年月日时分秒当前时间格式化时间戳格式化格式化时间转时间戳strings判断前缀、后缀判断是否包含字符串判断子字符串或字符在父字符串中出现的位置(索引)字符串替换统计字符串出现次数重复字符串修改字符串大小写修剪字符串分割字符串拼接 slice 到字符串strconvParseBoolFormatBoolParseFloatParseIntParseUintAtoiFormatFloatFormatIntItoaFormatUint
2021-05-13 16:29:15 414
原创 Golang 学习笔记 - 函数
Go 里面有三种类型的函数:普通的带有名字的函数匿名函数或者 lambda 函数方法init() 函数init() 函数的特性如下:init() 函数会在程序执行前(main() 函数执行前)被自动调用。调用顺序为 main() 中引用的包,以深度优先顺序初始化。同一个包中的多个 init() 函数的调用顺序不可预期。init() 函数不能被其他函数调用。例如,假设有这样的包引用关系:main→A→B→C,那么这些包的 init() 函数调用顺序为:C.init→B.init→
2021-05-13 16:25:27 248
原创 Golang 学习笔记 - 流程控制
if-else 结构关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。// 非法代码if condition{}else { // 无效的}在有些情况下,条件语句两侧的括号是可以被省略的;当条件比较复杂时,则可以使用括号让代码更易读。条件允许是符合条件,需使用 &&、|| 或!,你可以使用括号来提升某个表达式的运算
2021-05-13 16:24:38 238
原创 Golang 学习笔记 - 运算符
Go 语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符算术运算符下表列出了所有Go语言的算术运算符。假定 A 值为 10,B 值为 20。运算符描述示例+相加A + B 输出结果 30-相减A - B 输出结果 -10*相乘A * B 输出结果 200/相除B / A 输出结果 2%求余B % A 输出结果 0++自增A++ 输出结果 11–自减A-- 输出结果 9示例pac
2021-05-13 16:23:50 150
原创 Golang 学习笔记 - 常量
常量使用关键字 const 定义,用于存储不会改变的数据。存储在常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。常量的定义格式:const identifier [type] = value,例如:const Pi = 3.14159在 Go 语言中,你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。显式类型定义: const b string = "abc"隐式类型定义: const b = "abc"数字型的常量是没有大小和符号的,并且可以
2021-05-13 16:23:19 127
原创 Golang 学习笔记 - 变量
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。变量的声明使用 var 关键字(函数内外都可使用)// 只声明变量不赋值需要提供变量类型,默认值为01. var a, b int // 字符串不能用单引号,可以不提供变量类型2. var a, b string = "hello", "world" // 省略变量的类型,根据值自行判定变量类型。3. var a = 10// 同时声明多种类型的变量4. var ( a int, b string,
2021-05-13 16:22:34 102
原创 Golang 学习笔记 - 数据类型
数据类型基础类型array初始化赋值多维数组比较两个数组是否相等slice数组生成切片直接声明新的切片使用 make() 函数构造切片append()从切片中删除元素切片随机取出元素mapmap遍历删除元素struct定义实例化结构体初始化匿名字段interface定义实现channel定义实现指针什么是指针指针的声明和定义指针的操作指针接收者什么情况下使用指针基础类型类型描述布尔型布尔型的值只可以是 true 或者 false,示例 var b bool = true字符串
2021-05-13 16:20:12 316
原创 Golang 学习笔记 - 包的概念
任何源代码文件必须属于某个包,同时源码文件的第一行有效代码必须是package pacakgeName 语句,通过该语句声明自己所在的包。包可以定义在很深的目录中,包名的定义是不包括目录路径的,但是包在引用时一般使用全路径引用。比如在GOPATH/src/a/b/ 下定义一个包 c。在包 c 的源码中只需声明为package c,而不是声明为package a/b/c,但是在导入 c 包时,需要带上路径,例如import “a/b/c”。包名为 main 的包为应用程序的入口包,编译不包含 main 包
2021-05-13 16:14:54 214
原创 Golang 学习笔记 - hello world
国际惯例,输出hello world!package mainimport "fmt"func main() { fmt.Println("Hello World!")}打开终端输入以下命令运行程序go run main.goHello World!第一行的 package main 代表当前的 main.go 文件属于哪个包,其中 package 是 Go 语言声明包的关键字,main 是要声明的包名。在 Go 语言中 main 包是一个特殊的包,代表你的 Go 语言项目
2021-05-13 16:14:21 336 1
原创 Golang 学习笔记
准备工作安装windowslinux编辑器推荐安装windows下载地址https://studygolang.com/dl 或者 https://golang.google.cn/dl/Go语言的Windows 安装包一般格式为 MSI格式,可以直接安装到系统,Go语言的Windows 安装包般命名如下:go1.16.3.windows-amd64.msi1.16.3表示Go安装包的版本;Windows表示这是一个Windows安装包;amd64表示匹配的CPU版本,这里匹配的是64位C
2021-05-13 16:10:56 77
转载 使用 acme.sh 配置 https 免费证书
官方文档安装acme.shcurl https://get.acme.sh | sh如果此方式安装失败,可以使用 git 安装git clone https://github.com/acmesh-official/acme.sh.gitcd ./acme.sh./acme.sh --install安装过程中会自动为你创建 crontab 定时任务, 每天 0:15 自动检测所有的...
2020-03-07 21:22:24 1684
转载 python 正则的使用
import re元字符:符号描述.通配符,匹配除换行符外的所有字符,一次只能匹配一个字符^匹配的字符必须在字符串开头$匹配的字符必须在字符串结尾*匹配 * 前面的字符0或多次+匹配 + 前面的字符1或多次?匹配?前面的字符0或1次{}匹配{m,n}前面的字符m-n次[]匹配 [] 中的某一个字符。在[]中,.(通配...
2019-09-03 12:07:17 115
原创 英语“就近原则”和“就远原则”
什么是“就近原则”?什么是“就远原则”?是根据单词位置的“近”或“远”来判断的吗?在回答之前先做一道例子。例1.What he does or what he says __ nothing to do with me.他的行为或言谈都与我无关。在这个句子中空格处应该填入 have 还是 has 呢?前面的一长串结构——what he does or what he says 究竟是单数还是...
2019-09-03 06:37:18 19317 2
原创 Linux+Nginx+Uwsgi+Supervisor部署Flask
部署前需要关闭防火墙:iptables -F安装python3环境centos7.2下载、解压(编译安装,把下载好的python3安装包解压):Linux下默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存首先去pyth...
2019-09-02 17:31:27 323
转载 python - AES加密解密
安装依赖库pip install pycryptodomefrom binascii import b2a_base64, a2b_base64from Crypto.Cipher import AESclass AES_CBC(): def __init__(self, key, iv): # key必须为16位字符串 self.key = b...
2019-09-01 10:29:16 328
转载 python常用模块
import(modulename):导入模块math>>> import math1、向上取整math.ceil()>>> num = 3.14>>> math.ceil(num)42、向下取整math.floor()>>> num = 5.9>>> math.floor(num)...
2019-09-01 10:27:02 162
转载 判断英语名词可数和不可数
一个名词的可数和不可数其区分规律可以用以下五条规则来判断:普通规则集合名词可数但通常无须量化的名词统称和一般称不可数名词的种类化普通规则一个名词本身不存在可数和不可数之分,将一个名称视为可数或不可数只是取决于人们在描述这个名词时所用的量化单位是否固定,以及表示该单位的量词是否可以省略。例如:一杯咖啡(a cup of coffee), “杯”已经被大家默认为咖啡的衡量单位,因此...
2019-09-01 10:18:52 2538
转载 Mysql性能优化
基础篇1.避免使用外键外键会导致父表和子表之间耦合,十分影响SQL性能,出现过多的锁等待,甚至造成死锁2.表必须有主键,例如自增主键从性能的角度来说,使用UUID作为主键是个最不好的方法,它会使插入变得随机3.禁止使用分区表使用分区表查询的字段必须是分区键,否则会遍历所有的分区表,并不会带来性能上的提升。此外分区表在物理结构上仍旧是一张表,此时我们更改表结构,一样不会带来性能上的提升。...
2019-08-29 18:14:27 58
转载 python基础教程读书笔记-常用数据类型操作方法
列表方法1、append(value) append方法用于在列表末尾追加新的对象,它并不是返回一个修改过的新列表,而是直接修改原来的列表>>>lst = [1,2,3]>>>lst.append(4)>>>lst[1,2,3,4]2、count(value) count方法统计某个元素在列表中出现的次数,区分大小写...
2018-03-07 18:29:46 766
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人