Solon's blog 
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •     

Go(三)

复合数据类型3.1 数组var a [3]int var q [3]int = [3]int{1, 2, 3} q := [...]int{1, 2, 3} //长度由初始化值的个数来计算 months := [...]string{1: "January", /* ... */, 12: "December"} //索引0自动初始化为空字符串 数组类型可以直接比较(==),只有当两个数组所有元素都是相等的时候数组才是相等的。 3.2 Slice一个slice由三个部分构成:指针、长度和容量。指针指向第一个slice元素对应的底层数组元素的地址,要注意的是slice的第一个元素并不一定就是数组的第一个元素。长度对应slice中元素的数目;长度不能超过容量,容量一般是从slice的开始位置到底层数据的结尾位置。内置的len和cap函数分别返回slice的长度和容量。 slice的切片操作s[i:j],其中0 ≤ i≤ j≤ cap(s),用于创建一个新的slice,引用s的从第i个元素开始到第j-1个元素的子序列。 slice之间不能比较,因此
 2019-10-03   学习笔记    Go 

Go(四)

函数4.1 函数声明函数声明包括函数名、形式参数列表、返回值列表(可省略)以及函数体。 func name(parameter-list) (result-list) { body } 如果一组形参或返回值有相同的类型,我们不必为每个形参都写出参数类型。 func f(i, j, k int, s, t string) { /* ... */ } func f(i int, j int, k int, s string, t string) { /* ... */ } func add(x int, y int) int {return x + y} func sub(x, y int) (z int) { z = x - y; return} func first(x int, _ int) int { return x } func zero(int, int) int { return 0 } fmt.Printf("%T\n", add) // "func(int, int) int
 2019-10-01   学习笔记    Go 

Go(二)

基础数据类型2.1 整形* / % << >> & &^ + - | ^ == != < <= > >= && || 二元运算符有五种优先级。在同一个优先级,使用左优先结合规则,但是使用括号可以明确优先顺序,使用括号也可以用于提升优先级。在Go语言中,%取模运算符的符号和被取模数的符号总是一致的,因此-5%3和-5%-3结果都是-2。除法运算符/的行为则依赖于操作数是否为全为整数,比如5.0/4.0的结果是1.25,但是5/4的结果是1,因为整数除法会向着0方向截断余数。 & 位运算 AND | 位运算 OR ^ 位运算 XOR &^ 位清空 (AND NOT) << 左移 >> 右移 位操作运算符^作为二元运算符时是按位异或(XOR),当用作一元运算符时表示按位取反;位操作运
 2019-09-26   学习笔记    Go 

Go(一)

1.1命名Go中函数名字的开头字母大小决定了该函数在包外的可见性:大写字母开头,这个函数在包外可以使用;小写字母开头不可以在包外部访问。Go语言程序员推荐使用 驼峰式 命名。 1.2声明var、const、type、func:变量、常量、类型、函数实体对象声明 包声明语句之后是import语句导入依赖的其它包,然后是包一级的类型、变量、常量、函数的声明语句。在包一级声明的名字可以在整个包和引用了该包的源文件中访问。 1.3变量var 变量名字 类型 = 表达式 go语言中所有变量定义时如果未赋值,都会初始化为一个默认值。 在函数内部,有一种称为简短变量声明语句的形式可用于声明和初始化局部变量。它以“名字 := 表达式”形式声明变量,变量的类型根据表达式来自动推导。 freq := rand.Float64() * 3.0 t := 0.0 i, j := 0, 1 //变量声明语句 i, j = j, i // 交换 i 和 j 的值,赋值语句(元组赋值) 简短变量声明语句中必须至少要声明一个新的变量,否则不能编译通过。 1.4指针如果指针名字为p,那么可以说“p指针指向变
 2019-09-26   学习笔记    Go 

java随笔--正则表达式

题目地址:https://leetcode-cn.com/problems/string-to-integer-atoi/ import java.util.regex.*; class Solution { public static int myAtoi(String str) { str=str.trim(); String pattern="^[\\+\\-\\d]\\d*";//正则表达式,表示以正号或负号或数字开头,且后面是0个或多个数字 Pattern p=Pattern.compile(pattern); Matcher m=p.matcher(str); String res=""; if(m.find()){//能匹配到 res=str.substring(m.start(),m.end()); }else{//不能匹配到 return 0;
 2019-09-22   学习笔记    JAVA随笔 

Mysql学习笔记(三)

select 字段列表form 表名where 查询筛选条件group by 指定分组的列列表having 指定分组后的筛选条件order by 排序列的列表limit 起始索引值,要查询的记录条数 1、分组查询:group by分组函数(聚合函数):将多行的值进行统计返回一行结果sum() ; avg(); min(); max(); count().注:分组函数不能和与分组无关的列一起使用;分组查询时,查询的列可以是分组的条件 SELECT SUM(salary),COUNT(eid),did FROM t_employ GROUP BY did; SELECT did,COUNT(eid) FROM t_employ WHERE salary>10000 AND did IS NOT NULL GROUP BY did; 2、条件中需要使用分组后的结果:having作用和where一样,但是执行顺序在分组之后 SELECT AVG(salary) FROM t_employ GROUP BY did HAVING AVG(salary)>9000;3、or
 2019-09-21   学习笔记    Mysql 

Mysql学习笔记(二)

1、自增长:如果一列是主键,并且数据类型是int,则支持自动增长,每次插入数据时,会自动加一表定义时加上 id INT(11) PRIMARY KEY AUTO_INCREMENT; 2、给查询到的列取别名,表也可以取别名SELECT 列名 AS ‘别 名’,列名 别名,…… FROM 表名3、去重复:将查询到的所有列的重复筛选掉SELECT DISTINCT 列名 FROM 表名 4、查询时 进行计算支持数学运算符,逻辑运算符:xor异或比较运算符:=,>,<,>=,<=集合:in(值列表)范围:between min and max 5、模糊查询:like ‘模糊字符串’%:代表0~n个任意字符_:代表一个任意字符 6、使用 ifnull(字段,默认值) 方法解决null值计算问题 7、字符串拼接时的null值(sql中的+不能拼接字符串)concat(字段和字符串列表):自动将方法内的所有字符串进行拼接处理 8、联合查询多表查询时,需要指定连接条件才能避免笛卡尔积:表名.列名(指定是哪个表的列)多表查询时,最少指定n-1个连接条件才能避免笛卡尔积 9、内
 2019-09-21   学习笔记    Mysql 

Mysql学习笔记(一)

DDL语句1、建库 CREAT DATABASE 名字不区分大小写,推荐关键字大写;单词间加‘_’mysql数据结构:char,varchar CREATE TABLE tm_teammanager( id INT(11), 'name' VARCHAR(30),#通过飘号选中的字符会保留字符串本意,不会当成关键字,~ gender CHAR(2) )2、查表结构 DESC tm_teammanager3、从删库到跑路备份为.sql文件 DROP TABLE 表名 DROP DATABASE 4、修改表名 ALTER TABLE oldname RENAME newname;5、给表添加一列 ALTER TABLE 表名 ADD COLUMN 名字 INT(3) (加上类型)6、删除表一列 ALTER TABLE 表名 DROP COLUMN 列名7、给一列重命名change ALTER TABLE 表名 CHANGE 列名 新列名 数据类型8、修改表列的数据类型modi
 2019-09-21   学习笔记    Mysql 
123456

搜索

Hexo Fluid
 总访问量 次   总访客数 人