前言:
我有编程基础,可能写的不是和适合初学者,我会慢慢的写完整!
1.1 安装配置GoLand
大家可以百度,有很多优秀的博客
1.2 输出
学各种编程语言的套路差不多都是一样,先学输出 ,比如输出"Hello,World!",go语言自然也不例外。如下
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello,World")
return
}
注:一个独立可执行的 Go 语言程序必须有 package main
声明。此处我也没有过多的深究,当学到一定程度的时候在研究,要不然很难坚持学完,go语言对编程风格比较严格,右括和函数名一行,以后的if for while等,包含函数块的都必须在一行,否则编译器报错,这个可能也是初学时会搞混的。
1.3 常量与变量
变量:定义以后可以修改的,比如我锻炼身体,我今天锻炼了20min,明天可能没有锻炼,后天可能锻炼100min。
常量:也就是不能修改的变量,比如你自己的血型,基因都是固定的,没有办法可以修改的。
个人浅见,常量是不能修改的,所以定义了必须赋值,也就是人出生以后血型已经固定了,而变量则所谓。我是从c语言半路学的go语言,c语言中指针定义了最好赋值,要不然乱指可就不好了,我还没有学到go语言的指针,先不讨论。
1.3.1 变量
学习变量之前,我们再看下刚才的输出的函数(图1),里面的函数是接口(此处指的是什么类型都支持,可以放各种类型)我们学习变量,也就是从基础数据类型开始学,我们不用这个函数(图2),这个函数可以按照格式输出后面的接口。现在我们开始来操作吧!
图:1
图:2
开始学编程语言的宝宝不能贪多,数据类型不要研究的很深入,一开始会用就好了,然后再去研究在内存怎么存储的。
package main
import "fmt"
func main() {
// 基础数据类型
var a int = 1
fmt.Printf("%d",a)
}
可以先试着敲下这段代码,编译执行下看看结果是不是打印出来了1。我
int 是一种数据类型,只能存放整数的,也就是自然数(....-3,-2-,10,1,2,3,4,5,6,..)%d是整形占位符,先把这个位置占下,当printf(""%d),执行完后,变量a就开始插进去,然后实现输出1,一开始学的不能操之过急,此处a就是一个变量,我们来修改试试看看
package main
import "fmt"
func main() {
// 基础数据类型
var a int = 1
fmt.Printf("%d\n",a)
a = 2
fmt.Printf("我是a 我被发生改变了 %d\n",a)
}
我是a 改变了了会原样打印出来,因为没有占位符自然原样打印出来。
刚才的代码我们新学了几种我们再来学习几种数据类型吧,也是常用的数据类型!
float 浮点型 --占位符%f
string 字符串 --%s
int32 字符型 --%c
package main
import "fmt"
func main() {
// 基础数据类型
var a int = 1
var b float32 = 1.2
var c float64 = 2.4
var d string = "我是龙玉"
var e int32= '敲'
fmt.Printf(" a = %d\n b= %f\n c = %f\n d = %s\n e= %c",a,b,c,d,e)
}
go的编译器可以自动判断出类型,在定义的时候可以省略类型,%T可以自动识别出变量的类型,我们来操作看看吧 如下
package main
import "fmt"
func main() {
var a = 1
b := 2
fmt.Printf("a 的数据类型 %T,b的数据类型 %T",a,b)
}
这段代码,大家敲下,看看结果,我们又学了两种定义变量的方式,这两种都可以,这个我认为没啥技术含量在里面,毕竟是编译器识别做的事情多,我并不建议这样做,我认为还是常规的方式好,对于大家回头看自己代码也会有好处。
变量马上到尾声,最后介绍一个泛型占位符(可以理解为万能占位符 )%v
package main
import "fmt"
/*
我是main 函数 我是注释
*/
func main() {
var name string = "龙玉"
var age int = 25
fmt.Printf("My name is %v,My age is %v",name,age)// 我是注释 我不会被打印
}
在代码中,顺便加入了注释的方法// /**/ ,注释不会被打印,也不会占用代码的大小,我们在来分析下这段代码,string ,age 是不是都自动识别了那!
在来说下注释的作用吧,如下是我工作中经常用的注释 ,涉及到函数后面讲解。关于变量的基础知识就到这里了。接下来开始常用
1.3.2 常量
package main
import "fmt"
/*
我是main 函数 我是注释
*/
func main() {
const PI = 4.14
fmt.Println(PI)
}
常量定义,可以不使用,编译器是不会报错的 如果试图修改常用,则是会报错的,不被允许的。
注:var 是定义变量的 不用var 关键字
在c语言中有一个枚举的说法,在go语言中,也有一个关键字:itoa 可以实现常量组。
默认值从0开始
package main import "fmt" /* 我是main 函数 我是注释 */ func main() { // iota的初始值为零 const ( Monday = iota + 1 /*自动延用排头兵的表达式,但iota逐一递增*/ Tuesday Wednesday Thursday Friday Saturday Sunday) fmt.Println(Monday,Sunday) }
打印结果如下
1.4数学运算
学完了变量,常量接下来我们开始利用变量常用来进行数学运算 常用的 +-* / % > < = !等go语言也提供了数学库 等大家学了函数的时候,理解了函数
也就GO语言的API大部分就会调用了
package main import "fmt" func main() { var a int = 2 var b int = 2 var sum int = a + b var sub int = a - b var miv int = a * b var div int = a / b fmt.Println("sum = ",sum) fmt.Println("sub = ",sub) fmt.Println("miv = ",miv) fmt.Println("div = ",div) return }
上面的也就是常规的数学运算 加减乘除,应该不是很难理解,多练习几个就好了。
注:1:定义变量与操作变量的时候最好有一个空行,显得美观
注:2:数据类型不同的进行数学运算,可能与实际结果不是很符合,这个地方大家多试试就好了。
如下贴一个错误代码
package main import "fmt" func main() { var a float64 = 9 var b float64 = 3 var c int = a / b fmt.Println(c) return }
var c int = a / b 这个地方为什么报错了那?按常理来说结果应该就是整数,可是我定义的是浮点型 浮点型和浮点型的结果自然也是浮点型
var c int = (int)a / b在别的编程语言中 可能有强转这个说法,把浮点转化为整型,go语言是不可以的
注:var c int = a / b 改为var c float64 = a / b
下面来看%(求余,求mo)也就是数学中的求余数
package main import "fmt" func main() { var a int = 9 var b int = 4 var c = a % b fmt.Println(c) return }
结果为1 应该很好理解
注:% 两边必须为整型
> < = !与bool 类型一起学
bool 类型只有两个值 true 与 false 即为真或者假
fmt.Println(1 > 2) // false fmt.Println(1 < 2) // true fmt.Println(1 == 2) // false fmt.Println(1 != 2) // true
编程语言中判断等于的时候是== =是赋值不要搞错了奥!
1 > 2 肯定是假 反之为真
1 == 2 为假 反之为真 !表示是非 !=表示不等于
非真为假 非假为真
注:整型中 除了0都是真
编程语言一般都是顺序 选择 和顺序三大分支
刚才我们学的都是顺序 ,从上到下,现在开始学顺序和选择分支
----------------------------------------------------------------------------------------------------------------------
完毕 有什么问题 可以联系我 我改正
大家一起进步奥