随笔分类 -  08.Go基础

摘要:Java 中的集合(set)去重很方便,PHP 中的数组值去重,就更加方便,一个函数搞定:array_unique(),Golang 中就比较苦逼了,官方没有提供对“切片去重”的功能,而项目中,又经常用到这个功能,,我们可以模拟 Java 集合的功能,实现 Golang 版集合的同时,顺便把 去重 阅读全文
posted @ 2017-08-25 17:01 52php 阅读(4232) 评论(0) 推荐(1) 编辑
摘要:interface简介 Go 语言以简单易上手而著称,它的语法非常简单,熟悉 C++,Java 的开发者只需要很短的时间就可以掌握 Go 语言的基本用法。 interface 是 Go 语言里所提供的非常重要的特性。一个 interface 里可以定义一个或者多个函数,例如系统自带的 io.Read 阅读全文
posted @ 2017-08-15 08:38 52php 阅读(1134) 评论(0) 推荐(0) 编辑
摘要:golang 的 nil 在概念上和其它语言的 null、None、nil、NULL一样,都指代零值或空值。nil 是预先说明的标识符,也即通常意义上的关键字。在 golang 中,nil 只能赋值给 指针、channel、func、interface、map 或 slice 类型的变量。如果未遵循 阅读全文
posted @ 2017-08-14 23:05 52php 阅读(924) 评论(1) 推荐(1) 编辑
摘要:nil是什么 相信写过Golang的程序员对下面一段代码是非常非常熟悉的了: 当出现不等于nil的时候,说明出现某些错误了,需要我们对这个错误进行一些处理,而如果等于nil说明运行正常。那什么是nil呢?查一下词典可以知道,nil的意思是无,或者是零值。零值,zero value,是不是有点熟悉?在 阅读全文
posted @ 2017-08-14 18:21 52php 阅读(1412) 评论(0) 推荐(0) 编辑
摘要:注意:这些“坑”不是bug,只是自己当时没搞明白。 用到的框架为 Beego 1、字典 map 是“引用类型”,本身就是指针,作为参数传递时,直接传 map 变量名即可(不要传 map 变量指针)。 在调用方法内,如果修改了 map 变量值,外部的 map 变量值也会被改变的! 例如 Beego 控 阅读全文
posted @ 2017-08-13 14:18 52php 阅读(1083) 评论(0) 推荐(0) 编辑
摘要:import ( "unicode" ) func Ucfirst(str string) string { for i, v := range str { return string(unicode.ToUpper(v)) + str[i+1:] } return "" } func Lcfirst(str string) string { ... 阅读全文
posted @ 2017-08-09 09:29 52php 阅读(3569) 评论(0) 推荐(0) 编辑
摘要:package main import ( "crypto/md5" "encoding/hex" "fmt" "io" ) // 官网的例子:http://golang.org/pkg/crypto/md5/ func main() { str := "123456" // 需要加密的字符串 h := md5.New() io.WriteString(h, str) fmt... 阅读全文
posted @ 2017-08-07 15:14 52php 阅读(542) 评论(0) 推荐(0) 编辑
摘要:输出: 相关文章: 【Go入门教程6】struct类型(struct的匿名字段) 【Go入门教程7】面向对象(method、指针作为receiver、method继承、method重写) 阅读全文
posted @ 2017-08-04 11:45 52php 阅读(5302) 评论(0) 推荐(0) 编辑
摘要:输出: 阅读全文
posted @ 2017-07-25 15:31 52php 阅读(5943) 评论(0) 推荐(0) 编辑
摘要:1、写出下面代码输出内容 在线运行 答: 输出内容为: 解析:考察对 defer 的理解,defer 函数属延迟执行,延迟到调用者函数执行 return 命令前被执行。多个 defer 之间按 LIFO 先进后出顺序执行。 故考题中,在 Panic 触发时结束函数运行,在 return 前先依次打印 阅读全文
posted @ 2017-07-20 19:04 52php 阅读(4021) 评论(1) 推荐(0) 编辑
摘要:通过以下文章,掌握了 Go 模板引擎 的基本用法: [Go] Template 使用简介 [Go] 模板嵌套最佳实践 Beego模板语法指南 但在开始学习 Beego 框架的 模板嵌套 模块源码时,有点似懂非懂的感觉。认真研究了一段时间,总算搞懂了 其本质的原理: 1、Beego 底层用的是 Go 阅读全文
posted @ 2017-07-19 14:43 52php 阅读(2339) 评论(0) 推荐(1) 编辑
摘要:摘录一: Go 1.3 的 sync 包中加入一个新特性:Pool。 官方文档可以看这里 http://golang.org/pkg/sync/#Pool 这个类设计的目的是用来保存和复用临时对象,以减少内存分配,降低CG压力。 Get 返回 Pool 中的任意一个对象。 如果 Pool 为空,则调 阅读全文
posted @ 2017-06-25 13:22 52php 阅读(2965) 评论(1) 推荐(0) 编辑
摘要:输出: 官方教程:http://studygolang.com/static/pkgdoc/pkg/regexp.htm 阅读全文
posted @ 2017-06-15 18:10 52php 阅读(864) 评论(0) 推荐(0) 编辑
摘要:特征 Golang 单元测试对文件名和方法名,参数都有很严格的要求。例如: 1、文件名必须以 _test.go 结尾 2、方法名必须是 Test 开头 3、方法参数必须是 t *testing.T 或 b *testing.B 命令详解 go test 是 go 语言自带的测试工具,其中包含的是两类 阅读全文
posted @ 2017-06-11 16:14 52php 阅读(5887) 评论(0) 推荐(1) 编辑
摘要:关于管道 Channel 管道分类 无缓冲的 与 有缓冲 channel 有着重大差别,那就是一个是同步的(阻塞的) 一个是非同步的(非阻塞的)。 比如: 例如:c1 <- 1 无缓冲: 不仅仅是向 c1 通道放 1,而是一直要等有别的协程 <-c1 接手了这个参数,那么 c1 <- 1 才会继续下 阅读全文
posted @ 2017-05-26 11:46 52php 阅读(398) 评论(0) 推荐(0) 编辑
摘要:序言 错误 和 异常 是两个不同的概念,非常容易混淆。很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误。从表面上看,一切皆错误的思路更简单,而异常的引入仅仅增加了额外的复杂度。 但事实并非如此。众所周知,Golang 遵循“少即是多 阅读全文
posted @ 2017-05-23 11:50 52php 阅读(7959) 评论(1) 推荐(0) 编辑
摘要:基本类型 Go 有很多预定义类型,这里简单地把它们分为 基本类型 和 高级类型。Go 的基本类型并不多,而且大部分都与整数相关,如下表所示: Go 的基本类型共有 18 个,其中 int 和 uint 的实际宽度会根据计算架构的不同而不同。在 386 计算架构下,它的宽度为 32 比特,即 4 字节 阅读全文
posted @ 2017-05-22 18:20 52php 阅读(354) 评论(0) 推荐(0) 编辑
摘要:基本构成要素 Go 的语言符号 又称 词法元素,共包括 5 类内容——标识符(identifier)、关键字(keyword)、字面量(literal)、分隔符(delimiter) 和 操作符(operator),它们可以组成各种表达式 和 语句,而后者都无需以分号结尾。 标识符 标识符可以表示 阅读全文
posted @ 2017-05-21 15:20 52php 阅读(647) 评论(0) 推荐(0) 编辑
摘要:用 glide 下载 goim 的依赖包时报错,提示: code.google.com/p/log4go 找不到,即下载失败 主要是 code.google.com 网站已关闭导致的, 有人把它 fork 到 github 上面了,发现了好几个,如 https://github.com/alecth 阅读全文
posted @ 2017-05-04 21:56 52php 阅读(1129) 评论(0) 推荐(0) 编辑
摘要:1、判断 类型 类似于 JavaScript 中 typeof 和 Java 中 instanceof 2、判断 key 是否在 map 中 3、判断 channel 是否 已关闭 且 没有数据 温馨提示: 判断类型,还有另外一种方式:和 switch 结合 这里的 i := v.(type) 使经 阅读全文
posted @ 2017-04-30 11:29 52php 阅读(2750) 评论(0) 推荐(0) 编辑

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