当前位置:
Go语言使用包(package)的概念来组织管理代码,包是结构化代码的一种方式。和其他语言如JAVA类似,Go语言中包的主要作用是把功能相似或相关的代码组织在同一个包中,以方便查找和使用。在Go语言中,每个.go文件都必须归属于某一个包,每个文件都可有init()函数。包名在源文件中第一行通过关键字package指定,包名要小写。
2019-11-27 阅读:1945
在Go语言中,标识符必须以一个大写字母开头,这样才可以被外部包的代码所使用,这被称为导出。标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的。但是包名不管在什么情况下都必须小写。 在设计Go语言时,设计者们也希望确保它不是过于以ASCII为中心,这意味着需要从7位ASCII的范围来扩展标识符的空间。 所以Go语言标识符规定必须是Unicode定义的字母或数字,标...
2019-11-27 阅读:2066
5.1 作用域局部变量 在函数体内或代码块内声明的变量称之为局部变量,它们的作用域只在代码块内,参数和返回值变量也是局部变量。全局变量 作用域都是全局的(在本包范围内) 在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。 全局变量可以在任何函数中使用。简式变量 使用 := 定义的变量,如果新变量Ga与那个同名已定义变量 (这里就是那个全局变量Ga)不在一个作用域中...
2019-11-27 阅读:2038
4.1 常量以及iota常量使用关键字 const 定义,用于存储不会改变的数据。常量不能被重新赋予任何值。 存储在常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式:const identifier [type] = value,例如:const Pi = 3.14159在 Go 语言中,你可以省略类型说明符 [type],因为编译器可以根据变量(常量)的...
2019-11-27 阅读:2077
3.1 变量以及声明Go 语言中有四类标记:标识符(identifiers),关键字(keywords),运算符(operators )和标点符号(punctuation)以及字面量(literals) 。Go 语言变量标识符由字母、数字、下划线组成,其中首个字母不能为数字,同一字母的大小写在Go语言中代表不同标识,注意区分A 和a 是不同的标识。根据Go语言规范,标识符命名程序实体,例如变量和类...
2019-11-27 阅读:2086
在 Go 语言中,数据类型可用于参数和变量声明。
2019-11-27 阅读:2064
开源、跨平台的轻量级 Go 语言集成开发环境(IDE)。GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候
2019-11-27 阅读:2173
写《Go语言四十二章经》,纯粹是因为开发过程中碰到过的一些问题,踩到过的一些坑,感觉在Go语言学习使用过程中,有必要深刻理解这门语言的核心思维、清晰掌握语言的细节规范以及反复琢磨标准包代码设计模式,于是才有了这本书。 Go语言以语法简单、门槛低、上手快著称。但入门后很多人发现要写出地道的、遵循 Go语言思维的代码却是不易。
2019-11-26 阅读:2130
一、函数原型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 阅读:2141
所有在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 阅读:2938
tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句来删选去掉无用的信息。tcpdump选项说明:-A 以ASCII格式打印出所有分组,并将链路层的头最小化-c 在收到指定的数量的分组后,tcpdump就会停止-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_...
2019-11-26 阅读:2118
用 top 发现 virt 的使用量一直在涨,于是可以断定有内存泄露(也可以查看 /proc/<pid>/maps ,相应 pid 进程的 maps 文件中出现了很多内存碎片,也说明内存泄露)。经过排查,最终确定问题出现在多线程上。如图:查询资料了解到: (1)Linux man page里是这样讲的: When a joinable thread terminat...
2019-11-26 阅读:2184
#!/usr/bin/env python#encoding: utf-8'''收集主机的信息:主机名称、IP、系统版本、服务器厂商、型号、序列号、CPU信息、内存信息'''from subprocess import Popen, PIPEimport os,sys''' 获取 ifconfig 命令的输出 '''def getIfconfig():    p = Popen...
2019-11-24 阅读:2082
系统 # uname -a # 查看内核/操作系统/CPU信息  # head -n 1 /etc/issue # 查看操作系统版本  # cat /proc/cpuinfo # 查看CPU信息 &n...
2019-11-24 阅读:2068
web服务器和cache服务器,高并发下,socket最大连接数限制调整:1,修改用户进程可打开最大文件数限制。    即时生效:ulimit -n xxx    永久生效:echo "ulimit -HSn 65536" >> /etc/rc.localecho "ulimit -HSn 65536" &...
2019-11-24 阅读:2153