1.Go简介
Go语言擅长做什么?根据谷歌著名的软件工程师——Go语言的设计人之一——Rob Pike的说法,它是用来开发”大型软件“的。
Pike说Go语言适合于”很多程序员一起开发的大型软件,并且开发周期较长,支持云计算的网络服务:简言之,就是服务端软件。Go语言能够让程序 员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。“(作 为原贝尔实验室Unix开发小组成员,Pike对系统软件有相当的认识。)
go语言是系统级语言,类似c++、java、python,可以在各种平台上运行,包括嵌入式平台,可以开发桌面应用(https://github.com/lxn)或者web应用(https://github.com/astaxie/build-web-application-with-golang/blob/master/ebook/preface.md)。其语言的主要特点是:语言层面直接支持并发。
2.Go内置关键字
3.Go注释
// 单行注释
/**/ 多行注释
4.Go语言编程基础
Go程序的一般结构为:basic_structure.go
Go程序是通过package来组织的(与python相似)
只有package名为main
的包可以包含main
函数
一个可执行的程序有且仅有一个main
包
通过import
关键字来导入其它非main包
import "a"
import "b"
import "c"
可以换成:
import (
"a"
"b"
"c"
)
如果导入包后,没有使用过里面的函数或者类型,就会编译报错,要删除没有使用到的包
通过const
关键字来进行常量的定义
通过在函数体外部使用var
关键字来进行全局变量的声明与复制
通过type
关键字来进行结构(struct
)或者接口(interface
)的声明
通过func
关键字来进行函数的声明
1)package别名
import std "fmt"
std.Println("Hello") // io就是别名
也可以省略掉io
Println("Hello") // 但是不介意省略掉std,容易造成混淆
2)可见性规则(就是private和public)
Go语言中,使用大小写来决定改常量,变量,类型,结构,结构或者函数
是够可以被外部包所调用:
根据约定,函数名
首字母小写即为private
那么这样在包的外部不能使用,在包的内部是可以随意调用的。
函数名为大写的话,那么就是public
3)既然导入多个包时候可以进行简写,那么声明多个常量,全局变量或者一般类型(非接口,非结构)是否也可以用同样的方法呢?
// 常量的定义
const (
PI = 3.14
const1 = "1"
const2 = "2"
const3 = "3"
)
// 全局变量的声明 (注意:不能在函数体内。变量组只能用在全局变量声明的时候使用,在函数体内不能)
var (
name = "gopher"
name1 = "1"
name2 = 2
name3 = 3
)
// 一般类型的声明
type (
newType int
type1 float32
type2 string
type3 byte
)