#GO

[Go] md5 加密 示例

packagemainimport("crypto/md5""encoding/hex""fmt""io")//官网的例子:http://golang.org/pkg/crypto/md5/funcmain(){str:="123456"//需要加密的字符串h:=md5.New()io.WriteString(h,st...
代码星球 ·2021-01-16

[Go] 子类 调用 父类 的 属性、方法

packagemainimport("fmt")typeAstruct{TextstringNamestring}func(a*A)Say(){fmt.Printf("A::Say():%s",a.Text)}typeBstruct{ANamestring}func(b*B)Say(){b.A.Say()fmt.Pri...

打印 Go 结构体(struct)信息:fmt.Printf("%+v", user)

packagemainimport"fmt"//用户typeUserstruct{IdintNamestringAgeint}funcmain(){user:=User{Id:2,Name:"golang"}//打印结构体fmt.Printf("%+v",user)//输出换行符fmt.Printf("")//判断实例...

Go 面试题(附答案解析)

packagemainimport("fmt")funcmain(){defer_call()}funcdefer_call(){deferfunc(){fmt.Println("打印前")}()deferfunc(){fmt.Println("打印中")}()deferfunc(){fmt.Println("打印后"...
代码星球 ·2021-01-16

[Go] Beego 模板嵌套 使用总结

通过以下文章,掌握了Go 模板引擎的基本用法:[Go]Template使用简介[Go]模板嵌套最佳实践Beego模板语法指南但在开始学习Beego框架的模板嵌套模块源码时,有点似懂非懂的感觉。认真研究了一段时间,总算搞懂了其本质的原理:1、Beego底层用的是Go自带的模板引擎,因此,只需要继续研究Go自带的...

[Go] sync.Pool 的实现原理 和 适用场景

Go1.3的sync包中加入一个新特性:Pool。官方文档可以看这里 http://golang.org/pkg/sync/#Pool这个类设计的目的是用来保存和复用临时对象,以减少内存分配,降低CG压力。typePoolfunc(p*Pool)Get()interface{}func(p*Pool)Put(...

[Go] 正则表达式 示例

packagemainimport"bytes"import"fmt"import"regexp"funcmain(){//1.这个测试一个字符串是否符合一个表达式。match,_:=regexp.MatchString("p([a-z]+)ch","peach")fmt.Println("1.",match)//上面...
代码星球 ·2021-01-16

[Go] 单元测试/性能测试 (go test)

Golang单元测试对文件名和方法名,参数都有很严格的要求。例如:1、文件名必须以_test.go结尾2、方法名必须是Test开头3、方法参数必须是t*testing.T或b*testing.Bgotest是go语言自带的测试工具,其中包含的是两类,单元测试(即功能测试)和性能测试通过gohelptest可以看到got...
代码星球 ·2021-01-16

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

Channel用来同步并发执行的函数并提供它们某种传值交流的机制。Channel的一些特性:通过channel传递的元素类型、容器(或缓冲区)和传递的方向由“<-”操作符指定。c<-123,把值123输入到管道c,<-c,把管道c的值读取到左边,value:=<-c,这样就是读到value变量里...

[Go] 如何正确地 抛出 错误 和 异常(error/panic/recover)?

错误和异常是两个不同的概念,非常容易混淆。很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误。从表面上看,一切皆错误的思路更简单,而异常的引入仅仅增加了额外的复杂度。但事实并非如此。众所周知,Golang遵循“少即是多”的设计哲学,追求简洁优雅,就是说如...

【Go入门教程2】基本构成元素:标识符(identifier)、关键字(keyword 25个)、字面量(literal)、分隔符(delimiter)、和 操作符(operator)

基本构成要素Go的语言符号又称词法元素,共包括5类内容——标识符(identifier)、关键字(keyword)、字面量(literal)、分隔符(delimiter)和操作符(operator),它们可以组成各种表达式和语句,而后者都无需以分号结尾。标识符可以表示程序实体,前者即为后者的名称。在一般情况下,同一个代...

[Go] 跨平台文件系统监控工具 fsnotify 应用举例

项目地址:https://github.com/fsnotify/fsnotifyfsnotify能监控指定文件夹内文件的修改情况,如文件的增加、删除、修改、重命名等操作。官方给出了以下注意事项:Whenafileismovedtoanotherdirectoryisitstillbeingwatched?No(its...

code.google.com/p/log4go 下载失败

用glide下载 goim 的依赖包时报错,提示: code.google.com/p/log4go找不到,即下载失败 主要是code.google.com网站已关闭导致的,有人把它fork到github上面了,发现了好几个,如https://github.com/alectho...

[Go] ok 判断 汇总

类似于JavaScript中typeof和Java中instanceofvarainterface{}newA,ok:=a.(string)//如果ok是true,则说明变量a是字符串类型,而newA就是string类型的变量,a的实际值//varnameList=map[string]string{"姓名":"李四"...
代码星球 ·2021-01-16

[Go] 编码规范

大部分的格式问题可以通过gofmt解决,gofmt自动格式化代码,保证所有的Go代码与官方推荐的格式保持一致,于是所有格式有关问题,都以gofmt的结果为准。在编码阶段应该同步写好变量、函数、包的注释,最后可以利用godoc导出文档。注释必须是完整的句子,句子的结尾应该用句号作为结尾(英文句号)。注释推荐用英文,可以在...
代码星球 ·2021-01-16
首页上一页...3334353637...下一页尾页