水滴石穿,非一日之功
前言
在环境变量配置好之后,正式入坑,每一门编程语言都有自己的独特语法,在一番查找资料后,对go
的基础语法有一点点了解,下面就来记录记录
变量定义
在go
中变量的定义与Objective-C
或者是C
中的定义都不一样,这里引入了关键字var
,倒是和swift
有点类似,并且都是将变量的类型放在变量名后面
如以下的定义
//定义一个float64类型的名为"width"的变量
var width float64
当然我们也可以进行多变量的声明
//多变量声明 声明三个string类型的变量
var q,w,e string
定义变量并初始化赋值
var width float64 = 100.0
当然我们也可以同时初始化几个变量
var q,w,e string = "dd","12","300"
如果觉得这样复杂的话 我们还可以不定义类型 直接像下面这样来定义
//不声明类型 自动识别 为int类型
var dc = 234
//后面三种类型需保持一致
var q,w,e = "dd","12","300"
如果还觉得麻烦的话,那么只能....下面这样了,连var
都省了
//简短声明 这是使用变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值
a := "1234"
//多变量声明
var q,w,e string
q,w,e = "opop","ddd","cmdd"
//直接使用简短声明
o,p,k := q,w,e
:=
这个符号直接取代了var
和type
,这种形式叫做简短声明。不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,所以一般用var
方式来定义全局变量
不可以再次对相同名称的变量使用初始化声明,比如上面的字符串o
我们不能再像下面这样
//o := "gkl" //错误
o = "gkl"//可以的
全局变量,关于全局变量,我们一般使用var
在函数体外来定义
如下
package hellotest
//定义全局变量
var str string;
var width float64;
var height float64 = 123;
关于全局变量和局部变量,在go
中与其他语言有点不一样的就是,如果局部变量没有被使用,那么就会报错,而全局变量不会报错,所以定义全局变量的时候,一定要使用
对于全局变量,我们还可以使用()
的方式,来将其统一管理起来,如下
//多个全局变量 可以用括号的方式来统一定义
var (
str string;
width float64;
height float64 = 123;
)
这和我们导入多个头文件挺类似的,个人感觉还不错,至少美观些,哈哈
常量定义
常量的话,还是和其他语言差不多,都是使用const
关键字来定义
const Pi = 3.1415926
const MaxArea float64 = 100992.0
const name = "Go编程"
可以省略也可以添加常量的类型,当然我们也可以使用()
来将所有的常量包起来
//常量必须赋值
const (
minus int = 100
plus int = 200
add float64 = 300
)
枚举
枚举的话,与其他语言又不一样了,go
中没有enum
这么一个关键字来定义,而是依靠const
和iota
来定义枚举
//枚举 iota默认为0
const (
first = iota;//默认=0
second
three//=2
four
)
iota
定义的值默认为0,后面每一行的值加一,比如three
就为2了。
如果声明多个常量时,都在同一行,那么值一样
//枚举 iota默认为0
const (
first = iota;//默认=0
second
three//=2
four = iota
five,six,seven = iota,iota,iota//都为4
)
学习的道路是曲折的,如果有什么问题,还望大家多多指教