go 语言的了解

yuzx2008 · · 2637 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:yuzx2008

查看原文:go 语言的了解

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2637 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传