Go入门
Go
第一关:基本数据类型+变量+流程控制
一:简介
Python入门很容易,但是深入很难,语法糖多,魔法方法等.而Go功能强大,编译型,天生支持多核.
没有python那么多花里胡哨的.但是go中约定俗成的东西也很多.不要纠结于语法的差异,重点放在逻辑上,语法多写就会了.
项目开发周期短,很快占领市场,用python,用户量上去了一般转java和go,go性能正在赶超java.
源码编译之后在win平台下,变成二进制可执行的.exe文件,双击就可以运行.不需要go的开发环境,因为编译之后就是二进制了,只需要os
但是源文件拷贝想运行,必须有go的环境将需要的文件加入到编译.
go=c+python
Go 语言的基础组成有以下几个部分:
- 包声明,每个go文件都必须归属于一个包.不能单独存在.
- 引入包,go的sdk安装包的src里面是源码包,里面的.go文件是源码文件,但是调用函数跟文件名无关,直接调用这些文件里面包含的函数即可,和文件名无关,只与包名有关.这就是为什么开始必须声明包.
- 函数
- 变量
- 语句 & 表达式
- 注释
package main
import "fmt" //fmt里面提供了格式化的方法
func main() {
/* 这是我的第一个简单的程序 */
fmt.Println("Hello, World!")
}
-
第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
-
下一行 import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。
-
下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。注意需要注意的是 { 不能单独放在一行,所以以下代码在运行时会产生错误:
-
下一行 /*...*/ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
-
下一行 fmt.Println(...) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。
使用 fmt.Print("hello, world\n") 可以得到相同的结果。
Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。 -
当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。注意需要注意的是 { 不能单独放在一行,所以以下代码在运行时会产生错误:
安装跳过~!
go run 文件 go build 文件类似于java的java 文件和javac 文件
环境变量配置,最后一个是工作路径以后项目都放GOPATH中,源码放src中,bin放编译之后代码,pkg放包
二:变量
数据在内存中,用变量名来指向数据,方便查找和反复使用.
标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
以下是有效的标识符:
var 变量名 变量类型
var a int =7
变量使用基本步骤,变量声明,变量赋值,变量使用.可以合并前两步
跟java一样,变量声明之后不赋值使用默认值,变量有数据类型,只能存放此类型的数据.
:=只能在函数内部使用,全局不能使用.
声明了不用会报错.声明不赋值会给予默认值.
同一区域下数据值可以在同一类型下不断变化.例如100重新赋值为200.
三:数据类型
在 Go 编程语言中,数据类型用于声明函数和变量。
数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。
Go 语言按类别有以下几种数据类型:
数字代表着字节,float32单精度,float64双精度.,
int8为例8bytes,27-1之所以负数比正数多一个是因为+0和-0,第一位表示符号,00000000和10000000,把-0表示为了-128
基本用int就可以,报错再来查,记不住也不用记.