go 简介与包
2017-06-12 14:40
120 查看
简介
Go语言是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:1.它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。
2.Go语言为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。
3.Go语言是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。
4.Go语言完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。
按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。
Go语言是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生了。
(引用自百度百科)
安装配置
1 根据操作系统选择不同的安装包下载地址 https://golang.org/dl/
1 // calculator 2 package main 3 4 import ( 5 "day1/calc" 6 "fmt" 7 ) 8 9 func main() { 10 var pipe chan int 11 pipe = make(chan int, 1) 12 go calc.Add(100, 200, pipe) 13 go calc.Sub(100, 200, pipe) 14 sum := <-pipe 15 sub := <-pipe 16 fmt.Println(sum, sub) 17 }
calculator
包
1 和python一样,把相同功能的代码放到一个目录,称之为包2 包可以被其他包引用
3 main包是用来生成可执行文件,每个程序只能有一个main包
4 包主要的用途是提高代码的可复用性
5 一般go项目路径说明
/project/src/ 源文件
bin/ 可执行文件
vendor/ 第三方文件
pkg/ 静态库
6 Go中如果函数名的首字母大写,表示该函数是公有的,可以被其他程序调用,如果首字母小写,该函数就是是私有的,因此我们只能调用其他包文件中的公有函数
7 包的别名
import ( f "fmt" ) func main() { n := 10 for i := 0; i <= n; i++ { f.Printf("%d+%d=%d\n", i, n-i, n) } }
8 每个源文件都可以包含一个init函数,这个init函数自动被go运行框架调用
// main package main import ( "fmt" ) func init() { fmt.Println("----initiation----") }
9 只初始化包,并不引用
// main package main import ( _ "path/external_func" ) func init() { fmt.Println("----initiation----") }
相关文章推荐
- GO语言的进阶之路-go的程序结构以及包简介
- 【开源访谈】Kingshard 作者陈非访谈实录【项目简介】 Kingshard 是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQ
- influxdb和boltDB简介——MVCC+B+树,Go写成,Bolt类似于LMDB,这个被认为是在现代kye/value存储中最好的,influxdb后端存储有LevelDB换成了BoltDB
- go 简介学习
- Go包管理gpm简介
- Go testing 库 testing.T 和 testing.B 简介
- USB-(OTG)On-The-Go简介
- Go语言简介
- Go打印函数printf格式简介
- Gene Ontology (GO) 简介
- golang: Go语言:简介
- Go编程语言简介
- Go语言简介(上)— 语法
- Go语言知识积累——特点简介与windows开发环境搭建
- Go 语言简介
- Go 语言简介(上)— 语法<转载>
- go语言快速入门:简介(1)
- Go 语言简介(上)— 语法
- Go 语言简介
- Go语言知识积累——特点简介与windows开发环境搭建