前言
在极客上看了蔡超老师的Go语言课程 随手记下来的一些随笔,Go的基础应用及实例, 系列内容比较偏基础,推荐给想要入门Go语言开发者们阅读。
目录如下
Go语言基础学习 (一) - 变量 常量已经与其他语言的差异
Go语言基础学习 (二) -Go语言中的类型转与Go语言中的数组切片
Go语言基础学习 (三) - Go语言内的 Map声明使用与工厂模式
Go语言基础学习 (四) - Go语言函数简单介绍
Go语言基础学习 (五) - 面向对象编程
Go语言基础学习 (六) - 编写一个好的错误处理
Go语言基础学习 (七) - 包(package)
Go语言基础学习 (八) - 并发编程
1. 变量的声明及使用
-
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的一般形式是使用 var 关键字:var arr type -
也可以一次生成多个变量var arr1 arr2 arr3 type代码实例package main import "fmt" func main() { var a string = "Runoob" fmt.Println(a) var b, c int = 1, 2 fmt.Println(b, c) }打印结果RUNOOB 0 false -
使用 := 简写声明变量a := 1 // 注意需用空格间隔开 a,b := 1,2 // 多个赋值 -
变量的声明,若新生成一个变量时未给其赋值,则该变量的初始值则会根据类型自动生成 0, '' , false 等初始化参数package main import "fmt" func main() { var i int var f float64 var b bool var s string fmt.Printf("%v %v %v %q\n", i, f, b, s) }输出结果0 0 false "" -
变量声明注意一点为 ,当变量 a 已经通过var 赋值过,则不可在使用 := 重新赋值列如var intVal int intVal :=1 // 这时候会产生编译错误,因为 intVal 已经声明,不需要重新声明直接使用下面的语句即可:不使用 var 直接使用 := 方式intVal := 1 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句改变已经声明变量的值var intVal int intVal = 2 t.Log(intVal)总结 :区分好 := = 用法 := 声明一个新变量 = 重新赋值一个已经声明过的变量
2. 常量实名(与其他语言声明方法并无其他太大的差异,无需过多介绍)
3. 特殊常量 ioat , 可以认为是一个可以被编译器修改的常量
-
iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。iota 可以被用作枚举值:第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1;所以 a=0, b=1, c=2 可以简写为如下形式:package constan import ( "fmt" "testing" ) const ( a = iota b c ) const ( Monday = iota + 1 Tuesday WednesDay ) func TestConstantTry(t *testing.T) { fmt.Println(Monday,Tuesday,WednesDay); fmt.Println(a,b,c); }1,2,3 0,1,2