文章分类 - Go
摘要:Go语言的定时器实质是单向通道,time.Timer结构体类型中有一个time.Time类型的单向chan,源码(src/time/time.go)如下 type Timer struct { C <-chan Time r runtimeTimer } 实例 package main import
阅读全文
摘要:func Getwd() (dir string, err error)Getwd返回一个对应当前工作目录的根路径。 func Abs(path string) (string, error)Abs函数返回path代表的绝对路径,如果path不是绝对路径,会加入当前工作目录以使之成为绝对路径。 fu
阅读全文
摘要:go defer使用defer用途:1. 关闭文件句柄2. 锁资源释放3. 数据库连接释放特性:1. 关键字 defer 用于注册延迟调用。2. 这些调用直到 return 前才被执。因此,可以用来做资源清理。3. 多个defer语句,按先进后出的方式执行。4. defer语句中的变量,在defer
阅读全文
摘要:断言类型转换 断言通过判断变量是否可以转换成某一个类型 一个简单的断言表达式:var s = x.(T)如果x不是nil,且x可以转换成T类型,就会断言成功,返回T类型的变量s。如果T不是接口类型,则要求x的类型就是T,如果T是一个接口,要求x实现了T接口。如果断言类型成立,则表达式返回值就是T类型
阅读全文
摘要:func OpenFile(name string, flag int, perm FileMode) (*File, error) 该方法第一个参数为文件路径,第二个参数控制文件的打开方式,第三个参数控制文件模式 // Flags to OpenFile wrapping those of the
阅读全文
摘要:package main import ( "bytes" // "strings" "fmt" "io/ioutil" ) func main() { r := ioutil.NopCloser(bytes.NewReader([]byte("hello world"))) // r type i
阅读全文
摘要:package main import ( "bufio" "fmt" "io" "os" "strings" ) func ReadLine(fileName string, handler func(string)) error { f, err := os.Open(fileName) if
阅读全文
摘要:PID(process ID): 进程IDPPID(parent process ID):父进程ID号PGID(Process Group ID 进程组 ID号)TGID(Thread Group ID): 线程组ID号SID(Session ID): 会话ID。在shell支持工作控制(job c
阅读全文
摘要:%v package main import "fmt" type person struct { Name string Age int } func main() { aPerson := person{"cm", 3} fmt.Println(aPerson) fmt.Printf("%v\n
阅读全文
摘要:golang使用yaml格式解析构建配置文件 $ go get gopkg.in/yaml.v2 package main import ( "fmt" "log" "gopkg.in/yaml.v2" ) var data = ` name: cm best_authors: ["ssss","x
阅读全文
摘要:ucfg - Universal Configurationucfg is a Golang library to handle hjson, json, and yaml configuration files in your Golang project. It was developed fo
阅读全文
摘要:Cobra既是用于创建强大的现代CLI应用程序的库,也是用于生成应用程序和命令文件的程序。许多使用最广泛的Go项目都是使用Cobra构建的 Cobra是建立在结构的命令、参数和标志之上。命令(Commands)代表操作,参数(Args)和标志(Flags)是这些行动的修饰符。最好的应用程序就像读取句
阅读全文
摘要:go/src/flag/flag.go type FlagSet struct { // Usage is the function called when an error occurs while parsing flags. // The field is a function (not a
阅读全文
摘要:第三方的命令行参数解析包 pflag 比 flag 包使用的更为广泛。pflag 包的设计目的就是替代标准库中的 flag 包,因此它具有更强大的功能并且与标准的兼容性更好 安装pflag包$ go get github.com/spf13/pflag package main import fla
阅读全文
摘要:定义flag参数,有三种方式 1. 通过flag.String(), Bool(), Int() 等flag.Xxx()方法,该种方式返回一个相应的指针 var ip = flag.Int("flagname", 1234, "help message for flagname") 2.通过flag
阅读全文
摘要:import _ "github.com/elastic/beats/filebeat/include" 如:import _ hello/imp)的作用:当导入一个包时,该包下的文件里所有init()函数都会被执行,然而,有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而
阅读全文
摘要:goeclipse环境搭建 下载windows go安装包安装到目录D:\Go设置环境变量 GOROOT D:\GoGOPATH D:\study\goPATH %GOROOT%\bin; 设置eclipse下载插件goclipse.github.io-master.zipHelp => insta
阅读全文
摘要:Go 语言通过内置的错误接口提供了非常简单的错误处理机制。error类型是一个接口类型,这是它的定义:
阅读全文
摘要:下载编译器安装包,解压并设置环境变量 path=D:\Go\bin D:\study\go>go run test.goHello, World! D:\study\go>go run test.goHello, World!mutian!1 2 3 41.5falsetruefalsetrue f
阅读全文