您的位置:首页 > 编程语言 > Go语言

go 语言的了解

2016-02-25 07:16 501 查看
Google 开发

编译型

并发型

具有垃圾回收功能

Linux/Mac OSX/Windows

语法接近 C

For 循环和 if 判断没括号

支持垃圾回收

并行模型以东尼霍尔的 CSP 为基础

与 C++ 相比

Go 不包括:异常处理、继承、泛型、断言、虚函数等

增加 slice 型、并发、管道、垃圾回收、接口(interface)等

不同于 Java

Go 内嵌关联数组,称哈希表(hashes)或字典(dictionaries)

Hello World:

package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}


github

https://github.com/golang/go

说说您使用Go语言的体会,它有哪些优缺点?

陈辉:
最大的优点是易于维护,代码写完之后几个月再去看完全没生疏感,仿佛在 Go 中实现一个功能只有这么一种写法。

而且还有 gofmt 这个格式化工具,让团队中所有人的代码风格都是一样的。

Go 是一种不会让团队其他小伙伴看代码时皱眉头的语言,没有什么比这更重要了。


其次 Go 有 C 的优势,但没有 C++ 的弱点。

首先是强类型语言,任何严肃的软件项目都不应该选择使用弱类型语言。

然后 Go 的 interface 能满足 90% 以上的 OOP 需求,但又没有 C++ 的种种陷阱。最后,执行速度足够快。

然后,Go 有很好的代码管理、build 和 profiling 功能。

profiling 的能力强大,加上 build 体系替代了一个好的 IDE 的最主要的功能。

最后,goroutines 提供了天然的并发编程支持,这也是我最喜欢使用的功能之一。

当然它也不是没有缺点,在我眼里 Go 的缺点:对 virtual function 支持不是很好(或者不存在?),无法通过继承实现代码复用。

另外,pointer 的使用有时候让人困惑。

陈辉的开源项目

https://github.com/huichen

install

go 假定安装在 /usr/local/go,如果安装在非标准位置,需要设置 GOROOT

export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin


test install

package main

import "fmt"

func main() {
fmt.Printf("hello, world\n")
}

# 运行,用 go tool
go run hello.go
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Go 语言