golang 介绍

1. Golang 是什么 Go 官方说明: Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简 洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新的类型系统允许构建有 性的模块化程序。Go 编译到机器码非常快 速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类 型编译语言,但是感觉上是动态类型的,解释型语言 HUGOMORE42 2. 为什么要开发这个语言 Go 语言的发展目标 Go 语言的主要目标是将静态语言的安全性和高效性与动态语言的易开发性进行有机结合 Go 语言是一门类型安全和内存安全的编程语言。虽然 Go 语言中仍有指针的存在,但并不允许进行指针运算。 Go 语言的另一个目标是对于网络通信、并发和并行编程的极佳支持,从而更好地利用大量的分布式和多核的计算机 Go 语言中另一个非常重要的特性就是它的构建速度(编译和链接到机器代码的速度),一般情况下构建一个程序的时间只需要数百毫秒到几秒。 Go 语言实现高效快速的垃圾回收(使用了一个简单的标记-清除算法)。 3. 有什么特性&&用途 语言的特性 清晰并且简洁 Go 努力保持小并且优美,你可以在短短几行代码里做许多事情; 并行 Go 语言从本质上(程序和结构方面)来实现并发编程。 Go 让函数很容易成为非常轻量的线程。这些线程在 Go 中被叫做 goroutines Channel 这些 goroutines 之间的通讯由 channel[18, 25] 完成 快速 编译很快,执行也很快。目标是跟 C 一样快。编译时间用秒计算; Go 的可执行文件都比相对应的源代码文件要大很多,这恰恰说明了 Go 的 runtime 嵌入到了每一个可执行文件当中。当然,在部署到数量巨大的集群时,较大的文件体积也是比较头疼的问题。但总得来说,Go 的部署工作还是要比 Java 和 Python 轻松得多。因为 Go 不需要依赖任何其它文件,它只需要一个单独的静态文件,这样你也不会像使用其它语言一样在各种不同版本的依赖文件之间混淆。 安全 当转换一个类型到另一个类型的时候需要显式的转换并遵循严格的规则。Go 有 垃圾收集(使用了一个简单的标记-清除算法),在 Go 中无须 free(),语言会处理这一切; 值得注意的是,因为垃圾回收和自动内存分配的原因,Go 语言不适合用来开发对实时性要求很高的软件。 ...

2016-04-14 · 2 min · 271 words

hugo 使用

Hello Hugo Hugo 常用命令 基本配置 hugo 常用命令 hugo help hugo version hugo new site sitename # 新建一个站点 hugo new post/good-to-great.md # 添加到content/post 目录 hugo server # 启动server hugo server --buildDrafts # 预览草稿 hugo undraft content/post/good-to-great.md # 发布一篇文章 hugo server --theme=hugo_zen # 以zen 主题启动server hugo --theme=hugo_zen 以zen # 主题生成草稿 语法高亮 Syntax Highlighting # print hello world print "hello world" Front Matter Example (in TOML) [front-matter] (https://gohugo.io/content/front-matter/) +++ title = "Hugo: A fast and flexible static site generator" description = "Hugo: A fast and flexible static site generator" tags = [ "Development", "Go", "fast", "Blogging" ] categories = [ "Development" ] date = "2012-04-06" series = [ "Go Web Dev" ] slug = "hugo-可以替代url" project_url = "https://github.com/spf13/hugo" +++ Markdown 语法说明 [Markdown 语法说明 (简体中文版)] (http://wowubuntu.com/markdown/) ...

2016-04-11 · 1 min · 140 words