Golang 入门笔记更多Golang资料包:扫码进入Github 1. 算术运算符 算数运算符就是对数值类型的变量进行运算的,比如,加减乘除。在Go中运用非常的多 算数运算符 除法演示 //说明,如果运算的数都是整数,那么除后,将会去除小数位 fmt.Println(10 / 4) //2 var n1 float32 = 10 / 4 fmt.Println(n1) //2 //如果我们希望保留小数,那么就需要有浮点数参与运算 这样我们可以看到取模的一个本质运算 3. Golang 的自增只能当做一个独立的语言使用时,不能这样使用 b := a++ 或者 b := a-- 错误用法 4. Golang 的 ++ 和 -- 只能写在变量的后面,不能写在变量的前面,即,只有 a++, a-- 没有 ++a, --A 错误演示 5. Golang 的设计者去掉了 c/java 中自增和自减的容易混淆的写法,让golang 更加简介,统一(强制性) 我们直接输出 byte 的时候他是直接输出了字符的码值 如果我们需要输出对应的字符,需要格式化输出 测试案例 实验案例 注意事项(使用细节) 1. Golang 字符串的字节使用 UTF-8编码进行表示 Unicode 文本,这样golang 统一适用了 utf-8 变么,就能避免了中文乱码的问题 2. 字符串一旦定义就不能修改 错误案例: var str1 string = "124" str1[1]0 码力 | 2 页 | 511.29 KB | 1 年前3
Go语言基础
Golang FundamentsGo语言基础 Golang Fundaments 中山大学 数据科学与计算学院 潘茂林 panml@mail.sysu.edu.cn 大纲 • Golang-设计哲学 • 基础知识学习 • Go语言的入门资源 • 本地项目工作空间组织 • 开始编程 Golang-设计哲学 我们需要什么样的语言 • 曾经 – 我们对包含大量代码的程序印象深刻。 – 我们努力在代码库中创建大型抽象。 – 性能 – 微优化 Ultimate Go,https://github.com/ardanlabs/gotraining/blob/master/topics/go/README.md Golang-设计哲学 • 面向数据的设计(Data-Oriented Design) “数据占主导地位。如果您选择了正确的数据结构,并 且组织得很好,那么算法几乎总是不言自明的。数据结 构,而不是算法,是编程的核心。”——罗伯•派克 接口的标准化可以建立清晰和一致的期望。 • 面向包的设计(Package-Oriented Design) • 并发软件设计(Concurrent Software Design) • 管道设计(Channel Design) Golang-设计哲学 • 实用主义的语言风格 – 面向编译器的静态类型语言 • 数据类型必须在编译阶段确定 • 语言能充分发挥编译优化技术 – 复古且简便的语言 • 集合了多种语言实用的语法表示0 码力 | 21 页 | 851.30 KB | 1 年前3
Hello 算法 1.0.0 Golang版. . . 54 3.3 数字编码 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.4 字符编码 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.5 小结 (−128) 27 − 1 (127) 0 short 2 字节 −215 215 − 1 0 int 4 字节 −231 231 − 1 0 第 3 章 数据结构 hello‑algo.com 55 类型 符号 占用空间 最小值 最大值 默认值 long 8 字节 −263 263 − 1 0 浮点数 float 4 字节 1.175 × 10−38 3.403 × 1038 0.0f0 码力 | 382 页 | 17.60 MB | 1 年前3
2.7 Golang与高性能DSP竞价系统专业DSP解决⽅方案供应商 Golang与⾼高性能DSP竞价系统 By @QLeelulu 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved • RTB: Real-time Bidding,实时竞价,允许⼲⼴广告买家根据 活动⺫⽬目标、⺫⽬目标⼈人群以及费⽤用⻔门槛等因素对每⼀一个⼲⼴广告 及每次⼲⼴广告展⽰示的费⽤用进⾏行竞价。 其他更细致的过滤条件 100毫秒内要做些什么 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved 为什么选择Golang 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved • 2012-11-29 • 在 Go 1.1 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved • http包的HelloWorld性能测试 为什么选择Golang Via: http://www.cnblogs.com/QLeelulu/archive/2012/08/12/2635261.html 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司0 码力 | 51 页 | 5.09 MB | 1 年前3
Golang大规模云原生应用管理实践Golang⼤规模云原⽣应⽤管理实践 刘洋(炎寻) 关于我 • 毕业于中国科学技术大学,定居杭州 • 就职于阿里云-云原生应用平台团队 • Problem Solver,聚焦中间件,容器,Kubernetes,PaaS平台… • OAM社区成员 开局一张图 规模化应用交付效率对比去年 每万笔峰值交易的IT成本对比4年前 提升1倍 下降80% 云原生 技术 稳定 成本 效率 Custom controller Network plugins Storage plugins 统筹规划, 降低成本 自动化运维, 提升稳定性 非业务逻辑剥离, 提升交付效率 Golang与云原生生态(CNCF) 项目数占比: 214/1512(14.2%) Github star数占比:1265737 / 2458072(51.5%)市值占比: $8.08T/$19.46T(410 码力 | 23 页 | 7.70 MB | 1 年前3
Hello 算法 1.0.0b1 Golang版50 4.3. 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 *DoublyListNode { return &DoublyListNode{ Val: val, Next: nil, Prev: nil, } } 4. 数组与链表 hello‑algo.com 55 Figure 4‑8. 常见链表种类 4.3. 列表 由于长度不可变,数组的实用性大大降低。在很多情况下,我们事先并不知道会输入多少数据,这就为数组长 度的选择带来了很大困难。长度选小了,0 码力 | 190 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Golang版50 4.3. 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 *DoublyListNode { return &DoublyListNode{ Val: val, Next: nil, Prev: nil, } } 4. 数组与链表 hello‑algo.com 55 Figure 4‑8. 常见链表种类 4.3. 列表 由于长度不可变,数组的实用性大大降低。在很多情况下,我们事先并不知道会输入多少数据,这就为数组长 度的选择带来了很大困难。长度选小了, 1.8 之后,HashMap 内数组长度大于 64 时,长度大于 8 的链 表会被转化为「红黑树」,以提升查找性能。 Python 采用「开放寻址」。字典 dict 使用伪随机数进行探测。 Golang 采用「链式地址」。Go 规定每个桶最多存储 8 个键值对,超出容量则连接一个溢出桶; 当溢出桶过多时,会执行一次特殊的等量扩容操作,以保证性能。 6.3. 小结 ‧ 向哈希表中输入一个键 key0 码力 | 202 页 | 15.73 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版内存浪费:我们可以初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元素 都是我们不关心的,但这样做同时也会造成内存空间的浪费。 4. 数组与链表 hello‑algo.com 55 4.1.3. 数组常用操作 数组遍历。以下介绍两种常用的遍历方法。 // === File: array.go === /* 遍历数组 */ func traverse(nums []int) 1.8 以来,当 HashMap 内数组长度达到 64 且链表长度达到 8 时,链表会被转 换为红黑树以提升查找性能。 Python 采用开放寻址。字典 dict 使用伪随机数进行探测。 Golang 采用链式地址。Go 规定每个桶最多存储 8 个键值对,超出容量则连接一个溢出桶;当溢出桶过多时, 会执行一次特殊的等量扩容操作,以确保性能。 6.3. 哈希算法 在上两节中,我们了解了哈0 码力 | 347 页 | 27.40 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版complement code」。如果我们先将原码转换为反码,并在反码 下计算 1 + (−2) ,最后将结果从反码转化回原码,则可得到正确结果 −1 。 第 3 章 数据结构 hello‑algo.com 55 1 + (−2) → 0000 0001 (原码) + 1000 0010 (原码) = 0000 0001 (反码) + 1111 1101 (反码) = 1111 1110 (反码) 1.8 以来,当 HashMap 内数组长度达到 64 且链表长度达到 8 时,链表会被转 换为红黑树以提升查找性能。 Python 采用开放寻址。字典 dict 使用伪随机数进行探测。 Golang 采用链式地址。Go 规定每个桶最多存储 8 个键值对,超出容量则连接一个溢出桶;当溢出桶过多时, 会执行一次特殊的等量扩容操作,以确保性能。 6.3 哈希算法 在上两节中,我们了解了哈希0 码力 | 379 页 | 30.70 MB | 1 年前3
基于amqp实现的golang消息队列MaxQ7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 1/22 基于amqp实现的golang消息队列 MaxQ 2017-07-01 张培培 饿了么-基础框架组 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 5. MaxQ相关特性 6. 使用场景和案例 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 3/22 1. 队列 跟消息队列相比,有哪些共性? 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 消息可靠性 生产消费关系 Pull/Push 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 5/22 2. IPC消息队列 跟消息队列相比,有哪些共性? 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#10 码力 | 22 页 | 1.45 MB | 1 年前3
共 573 条
- 1
- 2
- 3
- 4
- 5
- 6
- 58













