面试了一个单位 说可能需要java转go语言 所以在此开始学习一下 如果面试通过了就继续学 没面试过 那么就这一篇了 加油!!!
一、万能之Hello World 开启go的大门
直接上代码
package main //表明包
import "fmt" //导入包 fmt 控制输入输出 感觉和java的System.out和Scanner有点像
func main() {
fmt.Println("Hello Go world。"); //进入这个世界了
}
输出结果:
是不是感觉还可以。
二、Go语言环境安装
安装包下载地址为:https://golang.org/dl/。
如果打不开可以使用这个地址:https://golang.google.cn/dl/。
我安装的是windows版的 双击安装选择目录 全程轻松随意 比想象中简单
配置系统变量,然后就可以开始玩了
三、基础语法
- 行分割符:不需要像java一眼每句之后都加一个;表明结束 每一行都是单独的一句 如果非要把几行语句写在一起 就需要加分号了
- 注释 : //单行注释
/*
aaa
bbb
*/ - 标识符 标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(AZ和az)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
- 字符串连接 直接用+号即可连接 这点倒是和java挺像的 但是java里直接用加号连接的性能不是很好 不知道go语言中是否有相类似的编译流程
- 关键字
- 预定义标识符
四、数据类型
数据类型详细的可以看这个:https://www.runoob.com/go/go-data-types.html
首先一点,给我印象比较深的就是 对数字类型添加了很多的包装,在不同的应用范围内使用不同的数据类型 例如
- int8 有符号 8 位整型 (-128 到 127)
- int16 有符号 16 位整型 (-32768 到 32767)
- int32 有符号 32 位整型 (-2147483648 到 2147483647)
- int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
这个给人感觉就是对使用着感觉 有了更高的要求 像java就是int Integer BigInteger这几种包装好的用就行了
当然这样要求的更细致 感觉编译的时候 就越容易控制 如果方方面面都这么细致的话 运行速度上就可以提高不少的
五、声明变量
- var identifier type 例:var a int;
- var identifier1,identifier2 type 例:var a,b string;
- 指定变量类型,如果没有初始化,则变量默认为零值
数值类型(包括complex64/128)为 0
布尔类型为 false
字符串为 “”(空字符串)
以下几种类型为 nil:
var a *int
var a []int
var a map[string] int
var a chan int
var a func(string) int
var a error // error 是接口 - 根据值自行判定变量类型 例:var d = true (这点就有点像js了)
- 省略 var, 注意 := 左侧如果没有声明新的变量,就产生编译错误,格式: v_name := value 例:f := “Runoob”
- 多变量声明
//类型相同多个变量