- 博客(11)
- 收藏
- 关注
原创 mysql 函数
mysql函数文本处理函数日期和时间转换函数数值处理函数聚集函数文本处理函数去除空格函数。ltrim(string)去除字符串左边空格rtrim(string)去除字符串右边空格trim(string)去除字符串两边空格字符串长度获取函数。length(string)返回字符串的字节数。一般字母数字都是占一个字节,中文和标点符号在不同mysq客户机上不一样,有些是占两个字节,有些占3个字节。字符串拼接函数。concat(string,string,string,
2022-03-06 10:48:55
575
原创 mysql通配符和正则表达式
通配符关键字是 like。表示要跟like后的字符串完全匹配才能匹配上。如果没有通配符,匹配字符串时,like就跟等于号是相同含义的。like和等于的区别就是like后字符串里面可以插入一些通配符,类似于可变字符,使得字符串匹配难度降低一点。通配符有下面两个。%(百分号)匹配任意多个字符(0个或多个)_ (下划线)匹配一个字符 (有且仅有一个)正则表达式关键字是 regexp(regular expression简写)。正则匹配不用完全匹配,只需包含...
2022-03-04 23:16:27
2854
2
原创 go 并发编程
并发编程就是可以让你的程序不是顺序执行的,而是可以多个分支同时进行,在go中,这个分支也被称为协程goroutine(轻量级线程)。Go语言中使用goroutine非常简单,只需要在调用函数的时候在前面加上go关键字,就可以为一个函数创建一个goroutine。一个goroutine必定对应一个函数,可以创建多个goroutine去执行相同的函数。在程序启动时,Go程序就会为main()函数创建一个默认的goroutine。main函数结束,所有的goroutine都会结束。package
2022-02-28 00:36:51
1112
原创 go 继承
Go语言中,通过在结构体内置匿名的成员来实现继承。package maintype People struct { name string age int}func (people People) speak() { println("I am a people") fmt.Printf("%T\n", people)//main.People}type Student struct { People grade int}func main() { var
2022-02-27 12:16:35
2218
原创 go 方法
方法定义:专门给某一类型定义的函数。我们可以给任何自定义类型添加一个或多个方法,每种类型对应的方法必须和类型定义在同一个包中。因此是无法给int这类内置类型添加方法的。所有给定类型的方法属于该类型的方法集。方法用法如下:package mainimport "fmt"type Student struct { name string age int grade int}// 给Student类型定义study方法func (stu Student) study (book
2022-02-27 11:42:05
155
原创 go语言需要注意的点
要明白Go语言中指针不再是固定不变的(因此不能随意将指针保存到数值变量中) 下面的代码在go中可以运行 func f(x int) *int{ return &x}var x = 8var xNum = f(x)fmt.Println(*xNum) //8 因为Go语言会保证指针指向的变量在合适的地方。Go程序员不用关心栈和堆的问题,编译器和运行时会帮我们搞定。 不要假设变量在内存中的位置是固定不变的,指针随时可能变化,特别是在你不期望它变化的时候。 ...
2022-02-26 23:14:34
467
原创 go 函数
在Go语言中,函数是第一类对象,可以将函数保存到变量中。函数用法如下:package mainimport "fmt"//具名函数func Add(a, b int) (sum int) { sum = a + b return}//匿名函数var Reduce = func (a, b int) int { return a - b}//可变参数func Sum(a int, more ...int) int { sum := a for _,v := range
2022-02-26 22:47:32
297
原创 go 切片
简单地说,切片就相当于一种简化版的动态数组。结构定义如下:type SliceHeader struct { Data uintptr //执行底层数组的指针 Len int //切片当前长度 Cap int //切片容量}跟字符串比较就是多了一个容量Cap字段,它表示的是切片指向的内存空间的最大容量(对应元素个数而不是字节数),len也是指元素个数。切片用法如下:package mainimport "fmt"func main() { //切片定义 var (
2022-02-26 18:41:25
524
原创 go字符串
一个字符串是一个不可改变的字节序列,字符串的元素不可修改(元素不可更改,字符串变量可以重新赋值),是一个只读的字节数组。所以字符串的长度是固定的,但是跟数组不一样,字符串长度不是字符串类型的一部分。go字符串底层结构如下:type StringHeader struct { Data uintptr //指向字节数组的指针 Len int //字节数组长度}字符串变量相当于一个结构体,所以字符串的赋值不会涉及到字节数组的复制。字符串用法如下:package main
2022-02-26 16:37:59
773
原创 go 数组
数组是一个由固定长度的特定类型元素组成的序列,元素个数可以是多个或者0个。0个就是空数组,空数组不占用内存(用的场景如通道的同步操作,避免分配额外的内存)。长度不同或者元素类型不同的数组都是不同的类型,长度是数组类型的一部分。数组用法如下例子:package mainimport "fmt"func main() { var a [3]int var b = [...]int{1, 2, 3} var c = [...]int{1:2, 2:3} var d = [...]int{1
2022-02-25 23:53:14
1209
原创 GO 接口详解
在go语言中,接口是一种就是一种类型。同map、struct等的定义,语法是一样。如:type People interface { Speak(string) string}关键字是interface。此时就称People是一个接口。接口的作用就是定义一些对象的共同特征,特征以接口内的方法来定义。如上例的speak方法。具有上述特征的类型,那就称它实现了这个接口。语法如下:// 定义类型Student,它是一种struct类型 type Student struct{}
2022-02-25 16:09:34
2593
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人