摘要: 网络编程基本介绍 Golang的主要目标之一就是面向大规模后端服务程序,网络通信整块是服务端 程序必不可少也是至关重要的一部分 网络编程有两种: TCP socket编程,是网络编程的主流。之所以叫TCP socket编程,是因为底层是基于TCP/IP协议的。比如:QQ聊天 b/s结构的HTTP编程 阅读全文
posted @ 2021-01-16 15:18 林林星 阅读(354) 评论(0) 推荐(0)
摘要: 线程和进程基本介绍 进程就是程序程序在操作系统中的次执行过程,是系统进行资源分配和调度的基本单位 线程是进程的一个执行实例,是程序执行的最小单元,它是比进程更小的能独立运行的基本单位 一个进程可以创建核销毁多个线程,同一个进程中的多个线程可以并发执行 一个程序至少有一个进程,一个进程至少有一个线程 阅读全文
posted @ 2021-01-16 15:17 林林星 阅读(127) 评论(0) 推荐(0)
摘要: 基本介绍 Go语言中自带一个轻量级的测试框架testing和自带的的 go test命令来实现单元测试和性能测试 testing框架和其他语言中的测试框架类型,可以基于这个框架写针对相应的测试用例,也可以基于该框架写相应的压力测试用例。通过单元测试,可以解决如下问题: 确保每个函数可运行,并且运行结 阅读全文
posted @ 2021-01-16 15:16 林林星 阅读(124) 评论(0) 推荐(0)
摘要: 基本说明 JSON是一种轻量级的数据交换格式,易于人阅读和编写。同时也易于机器解析和生成 JSON易于机器解析和生成,并有效的提升网络传输效率,通常程序在网络传输时会先将数据(结构体、map等)序列化成JSON字符串,到接收方得到JSON字符串时,在反序列化恢复成原来的数据类型(结构体、map等)。 阅读全文
posted @ 2021-01-16 15:15 林林星 阅读(139) 评论(0) 推荐(0)
摘要: 使用os.Args获得参数 os.Args是一个string的切片,用来存储所有的命令参数 func GetArgs() { fmt.Println("命令行参数:", len(os.Args)) for i, v := range os.Args { fmt.Printf("args[%v] = 阅读全文
posted @ 2021-01-16 15:14 林林星 阅读(636) 评论(0) 推荐(0)
摘要: 基本介绍 输入流和输出流 os.File 封装所有文件相关操作,File是一个结构体 官方文档 文件操作 打开文件和关闭文件 打开文件使用的是os包下的Open,OpenFile函数 func Open(name string) (file *File, err error) Open打开一个文件用 阅读全文
posted @ 2021-01-16 15:13 林林星 阅读(155) 评论(0) 推荐(0)
摘要: 引言 Golang也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。所以我们说 Golang支持面向对象编程特性是比较准确的。 Golang没有类(class),Go语言的结构体( struct)和其它编程语言的类class有同等的地位,你可以理解 Golang 阅读全文
posted @ 2021-01-16 15:11 林林星 阅读(113) 评论(0) 推荐(0)
摘要: 变量 从根本上说,变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。 变量声明 引入var关键字 var v1 int var v2 string var v3 [10]int // 数组 var v4 []int // 阅读全文
posted @ 2021-01-16 15:09 林林星 阅读(120) 评论(0) 推荐(0)
摘要: Go语言 主要特性 自动垃圾回收 更丰富的内置类型 函数多返回值 错误处理 Go语言引入了3个关键字用于标准的错误处理流程,这3个关键字分别为defer、panic和recover 匿名函数和闭包 类型和接口 并发编程 goroutine 反射 没有泛型 语言的交互性 Cgo和C语言的交互性 Go语 阅读全文
posted @ 2021-01-09 15:57 林林星 阅读(112) 评论(0) 推荐(0)