GO语言关键特性
GO语言之所以厉害,是因为它在服务端的开发中,总能抓住程序员的痛点,以最直接、简单、高效、稳定的方式来解决问题。这里我们并不会深入讨论GO语言的具体语法,只会将语言中关键的、对简化编程具有重要意义的方面介绍给大家,跟随大师们的脚步,体验GO的设计哲学。
GO语言的关键特性主要包括以下几方面:
- 并发与协程
- 基于消息传递的通信方式
- 丰富实用的内置数据类型
- 函数多返回值
- defer机制
- 反射(reflect)
- 高性能HTTP Server
- 工程管理
- 编程规范
GO语言基础语法
举一个Hello World的例子:
- main包,程序的入口文件。package main表示一个可独立执行的程序,package abc(包名)则表示此文件归属于包abc
- import区放入需要引入的包名,方便使用包下的函数,包fmt主要用于输入输出格式化IO字符串
- func abc(){} 则表示为一个名为abc的函数;main函数程序为一开始执行的函数。main 函数是每一个可执行程序所必须包含的。(var(声明变量), const(声明常量), type(声明类型) ,func(声明函数))
数据类型
声明变量的一般形式是使用var关键字,具体格式为: var identifier typename(例:var age int)。
在go语言中定义了一个变量,指定变量类型,如果没有初始化,则变量默认为零值。零值就是变量没有做初始化时系统默认设置的值。
| 类型 | 零值 |
|---|---|
| 数值类型 | 0 |
| 布尔类型 | false |
| 字符串 | “”(空字符串) |
初始化变量
当我们定义一个变量后又使用该符号初始化变量,就会产生编译错误,因为该符号其实是一个声明语句。
初始化变量语法格式为: identifier = value (例: age = 18)
数组
Go 语言数组声明需要指定元素类型及元素个数,语法格式如下:
var variable_name [SIZE] variable_type
例:var balance [10] float32
在go语言中,数组名仅仅表示整个数组,是一个完整的值,一个数组变量即是表示整个数组。所以在go中一个数组变量被赋值或者被传递的时候实际上就会复制整个数组。