文章分类 -  Go

摘要:Go语言的定时器实质是单向通道,time.Timer结构体类型中有一个time.Time类型的单向chan,源码(src/time/time.go)如下 type Timer struct { C <-chan Time r runtimeTimer } 实例 package main import 阅读全文
posted @ 2021-02-24 17:24 牧 天 阅读(530) 评论(0) 推荐(0) 编辑
摘要:func Getwd() (dir string, err error)Getwd返回一个对应当前工作目录的根路径。 func Abs(path string) (string, error)Abs函数返回path代表的绝对路径,如果path不是绝对路径,会加入当前工作目录以使之成为绝对路径。 fu 阅读全文
posted @ 2021-02-24 14:50 牧 天 阅读(154) 评论(0) 推荐(0) 编辑
摘要:go defer使用defer用途:1. 关闭文件句柄2. 锁资源释放3. 数据库连接释放特性:1. 关键字 defer 用于注册延迟调用。2. 这些调用直到 return 前才被执。因此,可以用来做资源清理。3. 多个defer语句,按先进后出的方式执行。4. defer语句中的变量,在defer 阅读全文
posted @ 2021-02-24 13:57 牧 天 阅读(90) 评论(0) 推荐(0) 编辑
摘要:断言类型转换 断言通过判断变量是否可以转换成某一个类型 一个简单的断言表达式:var s = x.(T)如果x不是nil,且x可以转换成T类型,就会断言成功,返回T类型的变量s。如果T不是接口类型,则要求x的类型就是T,如果T是一个接口,要求x实现了T接口。如果断言类型成立,则表达式返回值就是T类型 阅读全文
posted @ 2021-02-23 17:04 牧 天 阅读(82) 评论(0) 推荐(0) 编辑
摘要:func OpenFile(name string, flag int, perm FileMode) (*File, error) 该方法第一个参数为文件路径,第二个参数控制文件的打开方式,第三个参数控制文件模式 // Flags to OpenFile wrapping those of the 阅读全文
posted @ 2021-02-23 15:38 牧 天 阅读(636) 评论(0) 推荐(0) 编辑
摘要:package main import ( "bytes" // "strings" "fmt" "io/ioutil" ) func main() { r := ioutil.NopCloser(bytes.NewReader([]byte("hello world"))) // r type i 阅读全文
posted @ 2021-02-23 14:49 牧 天 阅读(847) 评论(0) 推荐(0) 编辑
摘要:package main import ( "bufio" "fmt" "io" "os" "strings" ) func ReadLine(fileName string, handler func(string)) error { f, err := os.Open(fileName) if 阅读全文
posted @ 2021-02-23 14:34 牧 天 阅读(446) 评论(0) 推荐(0) 编辑
摘要: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 阅读全文
posted @ 2021-02-09 17:23 牧 天 阅读(236) 评论(0) 推荐(0) 编辑
摘要:%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 阅读全文
posted @ 2021-02-04 18:50 牧 天 阅读(46) 评论(0) 推荐(0) 编辑
摘要: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 阅读全文
posted @ 2021-02-04 16:52 牧 天 阅读(952) 评论(0) 推荐(0) 编辑
摘要:ucfg - Universal Configurationucfg is a Golang library to handle hjson, json, and yaml configuration files in your Golang project. It was developed fo 阅读全文
posted @ 2021-02-03 12:05 牧 天 阅读(418) 评论(0) 推荐(0) 编辑
摘要:Cobra既是用于创建强大的现代CLI应用程序的库,也是用于生成应用程序和命令文件的程序。许多使用最广泛的Go项目都是使用Cobra构建的 Cobra是建立在结构的命令、参数和标志之上。命令(Commands)代表操作,参数(Args)和标志(Flags)是这些行动的修饰符。最好的应用程序就像读取句 阅读全文
posted @ 2021-02-02 15:29 牧 天 阅读(384) 评论(0) 推荐(0) 编辑
摘要: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 阅读全文
posted @ 2021-02-01 16:58 牧 天 阅读(117) 评论(0) 推荐(0) 编辑
摘要:第三方的命令行参数解析包 pflag 比 flag 包使用的更为广泛。pflag 包的设计目的就是替代标准库中的 flag 包,因此它具有更强大的功能并且与标准的兼容性更好 安装pflag包$ go get github.com/spf13/pflag package main import fla 阅读全文
posted @ 2021-02-01 15:45 牧 天 阅读(265) 评论(0) 推荐(0) 编辑
摘要:定义flag参数,有三种方式 1. 通过flag.String(), Bool(), Int() 等flag.Xxx()方法,该种方式返回一个相应的指针 var ip = flag.Int("flagname", 1234, "help message for flagname") 2.通过flag 阅读全文
posted @ 2021-01-30 17:31 牧 天 阅读(256) 评论(0) 推荐(0) 编辑
摘要:import _ "github.com/elastic/beats/filebeat/include" 如:import _ hello/imp)的作用:当导入一个包时,该包下的文件里所有init()函数都会被执行,然而,有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而 阅读全文
posted @ 2021-01-23 16:29 牧 天 阅读(40) 评论(0) 推荐(0) 编辑
摘要:goeclipse环境搭建 下载windows go安装包安装到目录D:\Go设置环境变量 GOROOT D:\GoGOPATH D:\study\goPATH %GOROOT%\bin; 设置eclipse下载插件goclipse.github.io-master.zipHelp => insta 阅读全文
posted @ 2018-06-09 18:51 牧 天 阅读(314) 评论(0) 推荐(0) 编辑
摘要:Go 语言通过内置的错误接口提供了非常简单的错误处理机制。error类型是一个接口类型,这是它的定义: 阅读全文
posted @ 2018-06-09 15:41 牧 天 阅读(245) 评论(0) 推荐(0) 编辑
摘要:下载编译器安装包,解压并设置环境变量 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 阅读全文
posted @ 2018-05-26 11:31 牧 天 阅读(144) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示