2020
02-14
02-14
yii::t()的使用方法和yii2中的语言包的使用
yii::t()的使用方法和yii2中的语言包的使用以我的后台为例介绍一下,我的操作方法1、创建语言包文件 backend\messages\zh-CN\app.php在banckend下面新建messages文件夹,然后再messages下面创建zh-CN文件夹,创建文件app.php.配置return内容。return[ 'Article_message'=>'文章管理', 'Article_list'=>'文章列表', 'Article_edit'=>'文章修改', 'Article...
继续阅读 >
不同scope的变量名可以冲突,但建议采取名称唯一的方式为变量命名。
1.由于可以将所有go项目放在同一个$GOPATH目录下,为了区分src下的项目目录和库文件目录,建议将每个项目目录设置深一点。
2.go install时,先进入到项目目录下。
3.库文件的名称(也是目录名)要选取合理,尽量短,但却尽量见名知意,也尽量减少名称重复的几率。
例如util这种名称到处都是,可以修改为numutil、nameutil等。
Go语言中映射是一种字典类型的数据结构,类似于 c++ 和 java 中的 hashmap,用于存储一系列无序的键值对。
• 映射是基于键来存储值。映射的优势是能够基于键快速索引数据。键就像索引一样,指向与该键关联的值,在内存中键值对的关系如下图所示。
GOROOT GOPATH 及 PATH 设置
于线程并发的编程语言中常用的一个概念,当一个线程派生出一个子线程后通常会加入父线程的线程组(未指定线程组的情况下)中, 最后可以通过ThreadGroup来控制一组线程的退出等操作, 然后在go语言中goroutine没有明确的这种parent/children的关系,如果想退出当前调用链上的所有goroutine则需要用到context
Go语言非常高效,支持扩展,而且还能提高生产。一些程序员觉得使用Go进行工作很有趣;另一些人则认为它缺乏想象力,甚至枯燥乏味。本文我们将解释为什么这些对立的观点是不成立的。Go语言旨在解决谷歌在软件开发中所面临的问题,导致了这门语言并不是一门突破性的研究语言,但对于大型软件项目来说,它还是一个很优秀的工具。”——Rob Pike,2012年
在golang中的方法是作用在特定类型的变量上,因此自定义类型都是可以有方法的,不仅仅只有一个struct 结构体。
有的小伙伴可能会认为内存读取,就是一个简单的字节数组摆放。但实际上 CPU 并不会以一个一个字节去读取和写入内存,相反 CPU 读取内存是一块一块读取的,块的大小可以为 2、4、6、8、16 字节等大小,块大小我们称其为内存访问粒度。假设访问粒度为 4,那么 CPU 就会以每 4 个字节大小的访问粒度去读取和写入内存。
CPU 访问内存时,并不是逐个字节访问,而是以字长(word size)为单位访问。比如 32 位的 CPU,字长为 4 字节,那么 CPU 访问内存的单位也是 4 字节。
这么设计的目的,是减少 CPU 访问内存的次数,加大 CPU 访问内存的吞吐量。比如同样读取 8 个字节的数据,一次读取 4 个字节那么只需要读取 2 次。
下面我们来看看,编写程序时,变量在内存中是否按内存对齐的差异。