
GO总结
阿彬要成为大牛
这个作者很懒,什么都没留下…
展开
-
GO的网络编程
Go的socket编程 socket编程的原理我们不在这里赘述,直接进入正题。 TcpSocket Go语言的net包中有一个TcpConn类型,可以用来建立Tcp客户端和Tcp服务器之间通信的通道,TCPConn类型的主要函数: func (c *TCPConn) Write(b []byte) (n int, err os.Error) func (c *TCPConn) Read(b []b...原创 2020-02-13 19:22:36 · 412 阅读 · 0 评论 -
接口
接口约定 接口也是一种类型和其他类型不同接口是一种抽象的类型他不会暴露出所代表对象的内部结构,只展示他的方法,即你只知道它用来做什么不知道是为什么。 接口类型 接口类型具体描述了一系列方法的集合,一个实现了这些方法的具体类型是这个接口类型的实例。方法名字的集合类似于结构体。也可以嵌套 格式: type Reader interface { Read(p []byte) (n int, er...原创 2020-02-08 15:21:23 · 127 阅读 · 0 评论 -
Go的面向对象编程
方法和函数 方法是在函数名前加上一个变量,这个附加的参数会将该函数附加到这种类型上,即相当于为这种类型定义了一个独占的方法。 func (p Point) Distance(q Point) float64 { return math.Hypot(q.X-p.X, q.Y-p.Y) } p := Point{1, 2} q := Point{4, 6} fmt.Println(Distan...原创 2020-02-01 16:18:45 · 265 阅读 · 0 评论 -
函数
函数声明 函数声明包括函数名、形式参数列表、返回值列表(可省略)以及函数体。具体格式如下: func add(x int , y int)(){ } 如果一组形参或返回值有相同的类型,我们不必为每个形参都写出参数类型。下面2个声明是等价的: func f(i, j, k int, s, t string) { /* ... */ } func f(i int, ...原创 2020-01-30 18:08:04 · 179 阅读 · 0 评论 -
结构体
用法和C/C++基本相同但初始化有很大的不同,Go中提供了两种初始化的方式,以 var 的方式声明结构体即可完成实例化,在Go语言中,对结构体进行&取地址操作时,视为对该类型进行一次 new 的实例化操作,格式如下: e := &T{} 如果结构体成员名字是以大写字母开头的,那么该成员就是导出的;这是Go语言导出规则决定的。一个结构体可能同时包含导出和未导出的成员。结构体类型的零...原创 2020-01-29 15:10:33 · 217 阅读 · 0 评论 -
数组和容器
数组 因为数组的长度是固定的所以Go一般使用slice,类似于C/C++中的vector。数组的每个元素都被初始化为元素类型对应的零值,对于数字类型来说就是0。而C/C++是随机值。 以下是数组的三种初始化方式,如果在数组的长度位置出现的是“…”省略号,则表示数组的长度是根据初始化值的个数来计算,数组的长度必须是常量表达式,编译的时候要计算。 var arr [3]int = [3]int{1,2...原创 2020-01-29 12:34:21 · 571 阅读 · 0 评论 -
基础数据类型
整型 Go语言同时提供了有符号和无符号类型的整数运算。这里有int8、int16、int32和int64四种截然不同大小的有符号整形数类型,分别对应8、16、32、64bit大小的有符号整形数,与此对应的是uint8、uint16、uint32和uint64四种无符号整形数类型。 注意:Unicode字符rune类型是和int32等价的类型,通常用于表示一个Unicode码点。这两个名称可以互换使...原创 2020-01-16 21:19:58 · 912 阅读 · 0 评论