#GO

[Go] 判断 文件/文件夹 是否存在?

Golang判断文件是否存在有点怪异,是根据在操作文件时返回的错误信息来判断的,而不能直接根据路径判断版本1:funcIsExists(pathstring)(bool,error){_,err:=os.Stat(path)iferr==nil{returntrue,nil}ifos.IsNotExist(err){r...

[Go] 命令行参数解析包(flag 包)使用详解

Go的flag包可以解析命令行的参数。命令行语法主要有以下几种形式:cmd-flag   //只支持bool类型cmd-flag=xxxcmd-flagxxx //只支持非bool类型以上语法对于一个或两个‘-’号是一样的,即cmd-flagxxx(使用空格,一个-符号)cmd-...

《Go语言实战》Go 类型:基本类型、引用类型、结构类型、自定义类型

Go语言是一种静态类型的编程语言,所以在编译器进行编译的时候,就要知道每个值的类型,这样编译器就知道要为这个值分配多少内存,并且知道这段分配的内存表示什么。提前知道值的类型的好处有很多,比如编译器可以合理的使用这些值,可以进一步优化代码,提高执行的效率,减少bug等等。基本类型是Go语言自带的类型,比如数值、浮点、字符...

[译] Go 并发编程基础

原文:Fundamentalsofconcurrentprogramming译者:youngsterxyf本文是一篇并发编程方面的入门文章,以Go语言编写示例代码,内容涵盖:运行期并发线程(goroutines)基本的同步技术(管道和锁)Go语言中基本的并发模式死锁和数据竞争并行计算在开始阅读本文之前,你应该知道如何编...
代码星球 ·2021-01-16

[Go] panic 和 recover

通常情况下,函数向其调用方报告错误的方式都是返回一个error类型的值。但是,当遇到致命错误的时候,很可能会使程序无法继续运行。这时,上述错误处理方式就太不适合了,Go推荐通过调用panic函数来报告致命错误。为了报告运行期间的致命错误,Go内建了专用函数panic,该函数用于停止当前的控制流程并引发一个运行时恐慌。它...
代码星球 ·2021-01-16

[Go] defer 语句

Go还有一些特有的流程控制语句,其中一个就是defer语句。该语句用于延迟调用指定的函数,它只能出现在函数的内部,由defer关键字以及针对某个函数的调用表达式组成。这里被调用的函数称为延迟函数。一个简单的例子如下:funcouterFunc(){deferfmt.Println("函数执行结束前一刻才会被打印")fm...
代码星球 ·2021-01-16

[Go] sync.Once 的用法

sync.Once.Do(ffunc())是一个非常有意思的东西,能保证once只执行一次,无论你是否更换once.Do(xx)这里的方法,这个sync.Once块只会执行一次。packagemainimport("fmt""sync""time")varoncesync.Oncefuncmain(){fori,v:=...
代码星球 ·2021-01-16
首页上一页...3435363738...下一页尾页