08 2019 档案

摘要:给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算 阅读全文
posted @ 2019-08-23 18:42 leafs99 阅读(324) 评论(0) 推荐(0)
摘要:generate ssh key: https://www.cnblogs.com/Nick M/p/5559042.html use ssh agent: http://yijiebuyi.com/blog/4b5c272e7058cb331098250c8e98eb3e.html 阅读全文
posted @ 2019-08-23 18:39 leafs99 阅读(345) 评论(0) 推荐(0)
摘要:[toc] YAML YAML使用可打印的Unicode字符,可使用UTF 8或UTF 16。 使用空白字符为文件缩进来表示结构;不过不能使用跳格字符(TAB)。 注解由井字号( )开始,可以出现在一行中的任何位置,而且范围只有一行(也就是一般所谓的单行注解) 每个清单成员以单行表示,并用短杠+空白 阅读全文
posted @ 2019-08-23 18:38 leafs99 阅读(409) 评论(0) 推荐(0)
摘要:原文链接:https://github.com/golang/go/wiki/CodeReviewComments 1)用 goimport 代替 gofmt 2) https://golang.org/doc/effective_go.html commentary 注释单独一行,开始于描述的名字 阅读全文
posted @ 2019-08-23 18:35 leafs99 阅读(582) 评论(0) 推荐(0)
摘要:1. vscode中go的相关插件被墙 http://www.pythonsite.com/?p=429 其实已经下载好了,只是目录不太对,修改一下就ok了 2. protoc go_out=. .proto运行报错 错误:`protoc gen go: program not found or i 阅读全文
posted @ 2019-08-23 18:34 leafs99 阅读(355) 评论(0) 推荐(0)
摘要:目录 @[toc] 注意事项 表示当前脚本是程序入口,含有main函数 如果不是入口,只是单纯的一个包的话,就尽量与当前目录文件夹的名称保持一致,表示一个包的脚本 slice的append函数的真面目 slicez作为参数传递时是引用类型的,也就是把地址传进去了,要是做了一般的修改,就是真的修改了 阅读全文
posted @ 2019-08-23 18:32 leafs99 阅读(138) 评论(0) 推荐(0)
摘要:[toc] 注意事项 goroutine只是官方的超级线程池 高并发性:占用内存小,创建销毁很快 goroutine的简单易用,也在语言层面上给予开发者巨大的便利 并发不是并行,并行是直接利用多核实现多线程的运行,并发是由切换时间片来实现“同时”运行 goroutine奉行通过通信(channel) 阅读全文
posted @ 2019-08-23 18:31 leafs99 阅读(220) 评论(0) 推荐(0)
摘要:目录 @[toc] 反射基本操作 反射可大大提高程序的灵活性,使得interface{}有更大的发挥余地 反射使用TypeOf和ValueOf函数从 接口 中获取目标对象信息 反射匿名或嵌入字段 反射会将匿名字段作为独立字段(匿名字段本质) 修改目标对象 想要利用反射修改对象状态,前提是interf 阅读全文
posted @ 2019-08-23 18:17 leafs99 阅读(256) 评论(0) 推荐(0)
摘要:目录 @[toc] 接口的定义和基本操作 接口是一个或者多个接口声明的集合 只要某个类型拥有该接口的所有方法声明,即算实现该接口,无需显示声明实现了哪个接口,这称为structural typing 接口只有方法声明,没有实现,没有数据字段 嵌入接口 接口可以匿名嵌入其他接口,或嵌入到结构中 类型断 阅读全文
posted @ 2019-08-23 18:17 leafs99 阅读(233) 评论(0) 推荐(0)
摘要:目录 @[toc] 方法的声明和使用 receiver Go中虽没有class,但依旧有method 通过显示说明receiver来实现与某个类型的组合 不存在方法重载 不存在方法重载,像下面这样的情况是不存在的 只能为同一个包中的类型定义方法 receiver可以是类型的值或者指针 可以使用值或者 阅读全文
posted @ 2019-08-23 18:15 leafs99 阅读(241) 评论(0) 推荐(0)
摘要:目录 @[toc] 定义与使用 Go中struct与C中的struct非常相似,并且Go没有class,没有构造函数 使用 结构定义,名称遵循可见性规则(大写开头表示public,非大写开头为private) 指向指向自身的指针类型成员,(类似this??) 可以使用字面值对结构进行初始化 允许直接 阅读全文
posted @ 2019-08-23 18:14 leafs99 阅读(225) 评论(0) 推荐(0)
摘要:目录 @[toc] Tips Go函数 不支持 嵌套,重载 和 默认参数 但支持以下特性: 无需声明原型,不定长度变参,多返回值,命名返回值参数,匿名函数,闭包 定义函数使用关键字func,并且左大括号不能另起一行 函数定义,不定长变参,传递值类型与引用类型 值类型传递和引用类型传递都是拷贝,但是值 阅读全文
posted @ 2019-08-23 18:13 leafs99 阅读(182) 评论(0) 推荐(0)
摘要:目录 @[toc] 简介 类似其他语言的哈希表或者字典,以key value的形式存储数据 key必须支持==或者!=比较运算的类型,不能是函数,map或者slice(他们都不支持),但是value可以呀,嘿嘿 map查找比线性搜索快很多,但比使用索引访问数据的类型慢100倍(array,slice 阅读全文
posted @ 2019-08-23 18:11 leafs99 阅读(174) 评论(0) 推荐(0)
摘要:目录 @[toc] 简介 slice本身不是数组,它指向底层的数组 是作为边长数组的替代方案,可以关联底层数组的局部或者全部 为引用类型,类似指针 可以直接创建或从底层数组获取生成,也可以用=直接从别的slice赋值 使用len() 获取元素个数,cap()获取容量 一般使用make()创建,mak 阅读全文
posted @ 2019-08-23 18:10 leafs99 阅读(160) 评论(0) 推荐(0)
摘要:目录 @[toc] 注意事项 数组在Go中是值类型,不是引用 类型和长度都相同的数组之间可以使用==或者!=进行比较(Go中已经实现了),但是没有 Go支持多维数组 数组定义 Tips 两个数组不能直接赋值 数组定义格式: 数组长度也是类型的一部分,因此不同长度数组为不同的类型 可以用索引初始化下标 阅读全文
posted @ 2019-08-23 18:07 leafs99 阅读(186) 评论(0) 推荐(0)
摘要:[toc] 注意事项 运算符 tips Go中的运算符都是从左到右结合的 优先级从高到低: 移位运算 a "运算符,直接采用"."来操作指针目标对象成员 操作符"&"去变量地址,使用" "通过指针间接访问目标对象 默认值是 nil ,不是NULL 递增递减语句 在Go中,++与 作为语句而不是表达式 阅读全文
posted @ 2019-08-23 18:03 leafs99 阅读(386) 评论(0) 推荐(0)
摘要:目录: @[toc] 注意事项 省略调用和别名不能同时使用 go关键字25个,都是小写 常量,变量,类型,接口,结构,首字母大写就是public,首字母小写是private,一个包是一个整体 常量,变量,一般类型(非struct,interface)都可以组合成组 var只能声明全局变量,也可以在函 阅读全文
posted @ 2019-08-23 17:50 leafs99 阅读(224) 评论(0) 推荐(0)
摘要:[toc] Commentary(注释) 每一个包都应该有一个 commentary,多文件的包在一个文件里 commentary 就可以了,内容详细或简洁由包来决定 使用纯文本,注意拼写,语法,句子结构 每一个(大写字母开头)导出的名字,都应该有一个 doc commentary doc comm 阅读全文
posted @ 2019-08-23 17:47 leafs99 阅读(394) 评论(0) 推荐(0)