聊聊Golang
Golang语言
小诚信驿站
公众号《小诚信驿站》,网名:小诚信驿站,小七,晓成。
工作经历:创业公司、京东、腾讯、目前在滴滴做一线研发。
业务经验:互联网保险、第三方支付、大促营销提报和效果分析、电商商业化、客服策略模型工程。
活动区域:CSDN-小诚信驿站,腾讯云-小诚信驿站,InfoQ-小诚信驿站,GitHub-小诚信驿站,公众号-小诚信驿站。想要找到我的话,小诚信驿站或者wolf_love666一般就可以找到啦。个人微信:lxc354555
展开
-
Go的研习笔记day-1
本大纲内容资料纯属自己学习书籍笔记和分享。1、前言: go语言演进过程 VS其他语言 go的特性 Go的用途 安装和配置环境1.1、go语言演进过程Go 语言起源 2007 年,并于 2009 年正式对外发布。它从 2009 年 9 月 21 日开始作为谷歌公司 20% 兼职项目,即相关员工利用 20% 的空余时间来参与 Go 语言的研发工作。该项目的三位领导者均是著名的...转载 2019-07-29 15:18:23 · 450 阅读 · 0 评论 -
Go的研习笔记-day14(以Java的视角学习Go)
Go 语言模式 逗号 ok 模式,ok,第一个参数是一个值或者nil,第二个参数是true/false或者一个错误error。在一个需要赋值的if条件语句中,使用这种模式去检测第二个参数值会让代码显得优雅简洁。这种模式在go语言编码规范中非常重要。下面总结了所有使用这种模式的例子: (1)在函数返回时检测错误value, err := pack1.Func1(param1)...转载 2019-08-15 15:26:13 · 310 阅读 · 0 评论 -
Go的研习笔记-day10(以Java的视角学习Go)
接口(Interfaces)与反射(reflection) 接口是什么Go 语言不是一种 “传统” 的面向对象编程语言:它里面没有类和继承的概念。但是 Go 语言里有非常灵活的 接口 概念,通过它可以实现很多面向对象的特性。接口提供了一种方式来 说明 对象的行为:如果谁能搞定这件事,它就可以用在这儿。接口定义了一组方法(方法集),但是这些方法不包含(实现)代码:它们没有被实现(它们是抽...转载 2019-08-11 18:17:55 · 449 阅读 · 0 评论 -
Go的研习笔记-day13(以Java的视角学习Go)
网络,模板和网页应用Go 在编写 web 应用方面非常得力,框架也有不太成熟的go ui等 tcp 服务器编写一个简单的客户端-服务器应用,一个(web)服务器应用需要响应众多客户端的并发请求:Go 会为每一个客户端产生一个协程用来处理请求。我们需要使用 net 包中网络通信的功能。它包含了处理 TCP/IP 以及 UDP 协议、域名解析等方法。package mainimpo...转载 2019-08-15 13:07:27 · 436 阅读 · 0 评论 -
Go的研习笔记-day9(以Java的视角学习Go)
结构(struct)与方法(method)Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型。一个带属性的结构体试图表示一个现实世界中的实体。结构体是复合类型(composite types),当需要定义一个类型,它由一系列属性组成,每个属性都有自己的类型和值的时候,就应该使用结构体,它把数据聚集在一起。然后可以访问这些数据,就好像它是一个独立实体的一...转载 2019-08-11 16:39:45 · 426 阅读 · 0 评论 -
Go的研习笔记-day8(以Java的视角学习Go)
包(package)标准库概述像 fmt、os 等这样具有常用功能的内置包在 Go 语言中有 150 个以上,它们被称为标准库,大部分(一些底层的除外)内置于 Go 本身。其他包地址 unsafe: 包含了一些打破 Go 语言“类型安全”的命令,一般的程序中不会被使用,可用在 C/C++ 程序的调用中。 syscall-os-os/exec: os: 提供给我们一个平台无关...转载 2019-08-11 12:41:23 · 359 阅读 · 0 评论 -
Go的研习笔记-day12(以Java的视角学习Go)
协程(goroutine)与通道(channel)作为一门 21 世纪的语言,Go 原生支持应用之间的通信(网络,客户端和服务端,分布式计算)和程序的并发。程序可以在不同的处理器和计算机上同时执行不同的代码段。Go 语言为构建并发程序的基本代码块是 协程 (goroutine) 与通道 (channel)。他们需要语言,编译器,和runtime的支持。Go 语言提供的垃圾回收器对并发编程至关重...转载 2019-08-14 18:52:06 · 476 阅读 · 0 评论 -
Go的研习笔记-day6(以Java的视角学习Go)
容器之数组与切片:一、数组是基础数据结构之一,无论哪种语言基本都会实现。这里go语言也是。但是在用的过程会引入一个新的概念slice切片。 声明和初始化数组是具有相同 唯一类型 的一组已编号且长度固定的数据项序列(这是一种同构的数据结构);这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。数组长度必须是一个常量表达式,并且必须是一个非负整数。数组长度也是数组类型的一部分,所...转载 2019-08-07 21:08:35 · 272 阅读 · 0 评论 -
Go的研习笔记-day11(以Java的视角学习Go)
错误处理与测试Go 没有像 Java 和 .NET 那样的 try/catch 异常机制:不能执行抛异常操作。但是有一套 defer-panic-and-recover 机制 Go为什么不使用try/catch机制Go 的设计者觉得 try/catch 机制的使用太泛滥了,而且从底层向更高的层级抛异常太耗费资源。他们给 Go 设计的机制也可以 “捕捉” 异常,但是更轻量,并且只应该作为(...转载 2019-08-14 12:43:17 · 358 阅读 · 0 评论 -
Go的研习笔记-day7(以Java的视角学习Go)
Mapmap 是一种特殊的数据结构:一种元素对(pair)的无序集合,pair 的一个元素是 key,对应的另一个元素是 value,所以这个结构也称为关联数组或字典。这是一种快速寻找值的理想结构:给定 key,对应的 value 可以迅速定位。map 这种数据结构在其他编程语言中也称为字典(Python)、hash 和 HashTable 等。 声明、初始化和 make概念map ...转载 2019-08-09 11:34:40 · 333 阅读 · 0 评论 -
Go的研习笔记-day3(以Java的视角学习Go)
Go的语法:一、文件名、关键字与标识符Go 的源文件以 .go 为后缀名存储在计算机中,这些文件名均由小写字母组成,如 scanner.go 。如果文件名由多个部分组成,则使用下划线 _ 对它们进行分隔,如 scanner_test.go 。文件名不包含空格或其他特殊字符。一个源文件可以包含任意多行的代码,Go 本身没有对源文件的大小进行限制。你会发现在 Go 代码中的几乎所有东西都有一...转载 2019-08-01 19:33:51 · 443 阅读 · 0 评论 -
Go的研习笔记-day5(以Java的视角学习Go)
函数:也就是Go里面的基本代码块,与Java中的方法类似Go是编译型语言,所以函数编写的顺序是无关紧要的;鉴于可读性的需求,最好把 main() 函数写在文件的前面,其他函数按照一定逻辑顺序进行编写(例如函数被调用的顺序)。编写多个函数的主要目的是将一个需要很多行代码的复杂问题分解为一系列简单的任务(那就是函数)来解决。而且,同一个任务(函数)可以被调用多次,有助于代码重用。简单的 ret...转载 2019-08-02 18:54:56 · 615 阅读 · 0 评论 -
Go的研习笔记-day4(以Java的视角学习Go)
控制结构在Java程序中我们使用的逻辑结构有if-else,switch,while,for,do…while在go语言中多加了select结构去掉了wihle和do…whilego语言的条件结构和分支结构 if-else 结构 switch 结构 select 结构,用于 channel 的选择 for (range) 结构Go 完全省略了 if、switch 和 ...转载 2019-08-02 16:19:41 · 426 阅读 · 0 评论 -
Go的研习笔记day-2
1、Go之runtime(Java中的虚拟机)runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收、栈处理、goroutine、channel、切片(slice)、map 和反射(reflection)等等。垃圾回收器 Go 拥有简单却高效的标记-清除回收器(类比我之前的文章其实标记-清除会导致大量内存碎片,并且当大对象分配的时候无足够内存)...转载 2019-07-29 18:23:05 · 318 阅读 · 0 评论 -
Go的研习笔记-day15(以Java的视角学习Go)
出于性能考虑的实用代码片段字符串 (1)如何修改字符串中的一个字符:str:="hello"c:=[]byte(str)c[0]='c's2:= string(c) // s2 == "cello" (2)如何获取字符串的子串:substr := str[n:m] (3)如何使用for或者for-range遍历一个字符串:// gives only the ...转载 2019-08-15 17:26:15 · 307 阅读 · 0 评论