golang
秋草正离离
这个作者很懒,什么都没留下…
展开
-
Python -asyncio笔记
asyncio 事件循环是asyncio提供的核心运行机制loop = asyncio.get_event_loop() # 获取一个事件循环(主线程才可以调用)task = loop.create_task(task) # 创建一个任务loop.run_until_complete(task) # 运行任务开始一个协程import asyncioasync def coroutine原创 2017-09-13 18:37:00 · 297 阅读 · 0 评论 -
golang语句笔记
GO语言语句switch语句1. var grade string = "B" var marks int = 90 switch marks { case 90:grade = "A" case 80:grade = "B" case 50,60,70:grade = "C" default: grade = "D" }原创 2017-09-08 09:55:14 · 261 阅读 · 0 评论 -
golang数据类型笔记
数据类型布尔值 true false var b bool = true数字类型 uint8 0 - 255uint16 0 - 65535uint32 0 - 4294967295uint64 0 - 18446744073709551615int8 -128 - 127int16 -32768 - 32767int32 -2147483648 - 21474836原创 2017-09-08 09:59:20 · 247 阅读 · 0 评论 -
golang内置库常用方法笔记
io/ioutilioutil.ReadFile(filename string)([]byte,error) //如果读取成功,err返回nilioutil.WriteFile(filename string,data[]type,perm os.FileMode)error // 写文件fmtPrint -> Print将参数列表a中的各个参数转为字符串并写入到标准输出中,非字符串参原创 2017-09-08 14:10:18 · 831 阅读 · 0 评论 -
golang new和make学习笔记
make用于内建类型(map,slice和channel)的内存分配,new用于各种类型的内存分配,make返回初始化后的非零值,是引用类型初始化的方法 new返回指针make用于内建类型(map、slice 和channel)的内存分配。new用于各种类型的内存分配。内建函数new本质上说跟其它语言中的同名函数功能一样:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型原创 2017-09-08 14:13:10 · 342 阅读 · 0 评论 -
golang结构体struct学习笔记
结构体struct Go中的struct与C中的struct非常相似,并且Go没有class 使用type<Name>struct{}定义结构,名称遵循可见性规则 支持指向自身的指针类型成员 支持匿名结构,可用作成员或定义成员变量 匿名结构也可以用于map的值 可以使用字面值对结构进行初始化 允许直接通过指针来读写结构成员 相同类型的成员可进行直接拷贝赋值原创 2017-09-08 09:48:43 · 1333 阅读 · 0 评论 -
golang - interface接口学习笔记
接口interface基本 type USB interface { Name() string Connect() } type PhoneConnector struct { name string } func (pc PhoneConnecto原创 2017-09-09 13:40:02 · 312 阅读 · 0 评论 -
golang - reflection反射学习笔记
反射反射可以 大大提高程序的灵活性,使得interface{}有更大的发挥余地反射使用TypeOf和ValueOf函数从接口中获取目标对象信息反射会将匿名字段作为独立字段(匿名字段本质)想要利用反射修改对象状态,前提是interface.data是settable,即pointer-interface通过反射可以动态调用方法原创 2017-09-09 14:14:32 · 259 阅读 · 0 评论 -
golang并发学习笔记
通过通信来共享内存,而不是通过共享内存来通信go关键字channelChannel是goroutine沟通的桥梁,大都是阻塞同步的通过make创建,close关闭Channel是引用类型可以使用for range来迭代不断操作channel可以设置单向或双向通道可以设置缓存大小,在未被填满前不会发生阻塞Select可处理一个或多个chanel的发送与接收同时有多个可用的chann原创 2017-09-09 23:06:50 · 285 阅读 · 0 评论 -
golang -strconv包常用函数笔记
strconvstrconv.Quote(s string)string -> 返回字符串在go语法下的双引号字面值表示,控制字符和不可打印字符会进行转义(\t,\n等)strconv.QuoteToASCII(s string)string -> 返回字符串在go语法下的双引号字面值表示,除了上面的和非ASCII字符会进行转义strconv.QuoteRune(r rune)string -原创 2017-09-10 19:59:36 · 7111 阅读 · 0 评论 -
golang -strings库笔记
stringsstrings.EqualFold(s,t string)bool -> 判断两个utf-8字符串(不分大小写、标题)是否相同strings.HasPrefix(s,prefix string)bool -> 类似于Python里面的startswith(),判断一个字符串是否以某字符开头strings.HasSuffix(s,suffix string)bool -> 类似于P原创 2017-09-10 22:59:38 · 1039 阅读 · 0 评论 -
golang笔记 - 函数
GO语言函数func max(num1,num2 int) int{ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }// 函数返回多个值 func swap(x, y string) (string, string原创 2017-09-07 10:21:16 · 260 阅读 · 0 评论 -
golang笔记 - Slice切片
Slice Slice代表变长的序列,序列中每个元素都有相同的类型。语法和数组很像,只是没有固定长度。 引用类型 -> “动态数组” 从概念上来说,slice像一个结构体,这个结构体包含了三个元素:一个指针,指向数组中slice指定的开始位置;长度,即slice的长度;最大长度,也就是slice开始位置到数组的最后位置的参数 使用len()获取长度,cap()获取容量 可原创 2017-09-07 10:22:32 · 340 阅读 · 0 评论 -
beego
模板map渲染 -> {{ range .Student }} <li>我叫{{ index . "name" }},我今年{{index . "age"}}岁了</li>{{ end }} //另一种方式 {{ range .Student }} {{ .name }}{{.age}} {{ end }}列表渲染<ul> {{ range .A原创 2017-09-06 18:20:32 · 225 阅读 · 0 评论 -
golang - net/http库使用笔记
net/http客户端实现Get/Head/Post和PostForm函数发出HTTP/HTTPS请求服务端实现func Handle(pattern string, handler Handler) 注册HTTP服务器handler和对应的模式pattern(注册到DefaultServerMux),如果该模式已经注册有一个处理器,Handle会panic.ServerMux的文档解释了模式的匹原创 2017-09-14 14:40:10 · 793 阅读 · 0 评论 -
golang - text/template学习笔记
text/template 通过将模板应用于一个数据结构(即该数据结构作为模板的参数)来执行,来获得输出。模板中的注释引用数据接口的元素(一般如结构体的字段或字典的键)来控制执行过程和获得需要呈现的值。模板执行时会遍历结构并将指针表示为.(称之为dot)指向运行过程中数据结构的当前位置的值Action(动作)表。{{/* a comment */}} 注释,可以多行,不能嵌套,而且必须紧贴原创 2017-09-12 21:02:16 · 2182 阅读 · 0 评论 -
golang学习笔记
直接跳过没有看的入门 -> 命令行参数 之后的所有行Go基础命令go run one.py -> 编译并运行go build one.py -> 编译成可执行文件变量 大写字母开头的变量是可导出的,是公用变量 小写字母开头的是不可导出的,是私有变量 大写字母开头的函数也是一样,相当于class里面带public关键词的公有函数 小写字母开头的函数就相当于class里面原创 2017-09-07 08:29:05 · 266 阅读 · 0 评论 -
golang数组
数组 具有相同唯一类型的一组已编号且长度固定的数据项序列(数组的长度必须是常量表达式) 数组的长度是数组类型的一个组成部分,因此[3]int和[4]int是两种不同的数据类型 数组之间的赋值是值的赋值,也就是当把数组当作参数传入函数的时候 ,传入的其实是该数组的副本,而不是它的指针 默认情况下,数组的每个元素都被初始化成元素对应类型的零值.对于数字类型来说就是0。 va原创 2017-09-07 09:57:30 · 543 阅读 · 0 评论 -
golang常量
GO语言常量constconst b string = "abc" const a = "abc"const LENGTH int = 10const WIDTH int = 5const a,b,c = 1,false,"str"// 常量还可以用作枚举const( Unknown = 0 Female = 1 Male = 2)//常量表达式中,函数必须是内置函原创 2017-09-07 09:59:22 · 351 阅读 · 0 评论 -
golang指针
指针Go语言虽然保留了指针,但与其他语言不同的是,在Go当中不支持指针运算以及 -> 运算符,而直接采用.操作符来操作指针目标对象的成员操作符&取变量地址,使用*通过指针间接访问目标对象,&a ->变量a的指针(取地址符是&,放到一个变量前就会返回相应变量的内存地址)默认值为nil而非NULL类似于变量和常量,在使用指针前需要声明指针。声明指针 -> var var_name *var-ty原创 2017-09-07 10:02:33 · 277 阅读 · 0 评论 -
golang变量
GO语言变量变量声明//指定变量类型,声明后若不赋值,使用默认值var var_name typevar_name = value// 根据值自行判定变量类型var var_name = value// 省略var, :=左边的变量不应该是已经声明过的,否则将会编译报错var_name := value // 只能被用在函数体内例:var a int = 10var b = 10原创 2017-09-07 10:05:56 · 777 阅读 · 0 评论 -
golang-Map
map声明map 1. var m map[int]string; m=map[int]string{} -> 完成初始化 // [int]代表key的类型,string代表value的类型 2. m := make(map[int]string) 3. map字面量的语法,同时还可以指定一些最初的key/value -> ages :原创 2017-09-07 10:15:40 · 530 阅读 · 0 评论 -
golang - html库笔记
HTMLfunc EscapeString(s string)string// 转成字符实体,如`<`变成`<`// 只会修改5个字符 -> `< > & 、 "`// UnescapeString(EscapeString(s)) ==s 总是成立,但两个函数顺序顺过来则不一定成立func UnescapeString(s string)string将逸码的字符实体如`<`原创 2017-09-10 23:11:16 · 522 阅读 · 0 评论