数组是具有相同唯一类型的一组已编号且长度固定的数据项序列(这是一种同构的数据结构);这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。数组长度必须是一个常量表达式,并且必须是一个非负整数。 数组长度也是数组类型的一部分,所以[5]int和[10]int是属于不同类型的。 注意事项:如果我们想让数组元素类型为任意类型的话可以使用空接口interface{}作为类型。当使用值时我们必须先...
2019-11-27 阅读:2190
Go 语言中可以使用反引号或者双引号来定义字符串。反引号表示原生的字符串,即不进行转义。 双引号:字符串使用双引号括起来,其中的相关的转义字符将被替换。
2019-11-27 阅读:2177
9.1 内置运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符Go语言的算术运算符:运算符含义示意+相加A + B-相减A - B*相乘A * B/相除B / A 结果还是整数 8/3=2%求余B % A++自增A++ 1--自减A--Go语言的关系运算符:运算符含义示意==检查两个值是否相等。(A == B) 为 False!=检查两个值是否不相等。(A != B) 为 True&...
2019-11-27 阅读:2306
Go的工程项目管理非常简单,使用目录结构和包名来确定工程结构和构建顺序。 环境变量GOPATH在项目管理中非常重要,想要构建一个项目,必须确保项目目录在GOPATH中。而GOPATH可以有多个项目用";"分隔。
2019-11-27 阅读:2148
Go语言使用包(package)的概念来组织管理代码,包是结构化代码的一种方式。和其他语言如JAVA类似,Go语言中包的主要作用是把功能相似或相关的代码组织在同一个包中,以方便查找和使用。在Go语言中,每个.go文件都必须归属于某一个包,每个文件都可有init()函数。包名在源文件中第一行通过关键字package指定,包名要小写。
2019-11-27 阅读:2107
在Go语言中,标识符必须以一个大写字母开头,这样才可以被外部包的代码所使用,这被称为导出。标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的。但是包名不管在什么情况下都必须小写。 在设计Go语言时,设计者们也希望确保它不是过于以ASCII为中心,这意味着需要从7位ASCII的范围来扩展标识符的空间。 所以Go语言标识符规定必须是Unicode定义的字母或数字,标...
2019-11-27 阅读:2231
5.1 作用域局部变量 在函数体内或代码块内声明的变量称之为局部变量,它们的作用域只在代码块内,参数和返回值变量也是局部变量。全局变量 作用域都是全局的(在本包范围内) 在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。 全局变量可以在任何函数中使用。简式变量 使用 := 定义的变量,如果新变量Ga与那个同名已定义变量 (这里就是那个全局变量Ga)不在一个作用域中...
2019-11-27 阅读:2216
4.1 常量以及iota常量使用关键字 const 定义,用于存储不会改变的数据。常量不能被重新赋予任何值。 存储在常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式:const identifier [type] = value,例如:const Pi = 3.14159在 Go 语言中,你可以省略类型说明符 [type],因为编译器可以根据变量(常量)的...
2019-11-27 阅读:2262
3.1 变量以及声明Go 语言中有四类标记:标识符(identifiers),关键字(keywords),运算符(operators )和标点符号(punctuation)以及字面量(literals) 。Go 语言变量标识符由字母、数字、下划线组成,其中首个字母不能为数字,同一字母的大小写在Go语言中代表不同标识,注意区分A 和a 是不同的标识。根据Go语言规范,标识符命名程序实体,例如变量和类...
2019-11-27 阅读:2248
开源、跨平台的轻量级 Go 语言集成开发环境(IDE)。GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候
2019-11-27 阅读:2358
写《Go语言四十二章经》,纯粹是因为开发过程中碰到过的一些问题,踩到过的一些坑,感觉在Go语言学习使用过程中,有必要深刻理解这门语言的核心思维、清晰掌握语言的细节规范以及反复琢磨标准包代码设计模式,于是才有了这本书。 Go语言以语法简单、门槛低、上手快著称。但入门后很多人发现要写出地道的、遵循 Go语言思维的代码却是不易。
2019-11-26 阅读:2292
一、函数原型int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock);123 根据文件描述符来操作文件的特性。可以改变一个已打开的文件的属性,可以重新设置读、写、追加、非阻塞等标志(这些标志称为 File...
2019-11-26 阅读:2285
所有在Linux系统下 arp -d $ip 命令只能清除一个IP地址的对应MAC地址缓存,可以使用组合命令操作。组合命令清楚所有arp缓存:arp -n|awk '/^[1-9]/{system("arp -d "$1)}'以上命令必须 root 才可以执行。使用ip命令清除某一网络接口的arp(下面命令是 eth0 接口)ip neigh flush dev eth0Linux 清...
2019-11-26 阅读:3321
tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句来删选去掉无用的信息。tcpdump选项说明:-A 以ASCII格式打印出所有分组,并将链路层的头最小化-c 在收到指定的数量的分组后,tcpdump就会停止-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_...