目录
Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。
go语言,希望统一代码风格,一种问题只有一种解决方法(即语法上严格规定某种规范)
1,通过go build编译的exe文件可以在 别的 没有go环境的计算机上运行,而go run没有生成exe文件,不能做到
rune表示一个unicode码点,类似于int32,可以存放汉字
注:转换是把值转换并使用,改变的是存储的数据,数据类型没有改变
比如a的值变成了float,然后转给了f,但是a本身没有改变数据类型
如果把高精度转给低精度,可能导致溢出,不报错,但结果大不相同
Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。
tips
go每个文件必须归属一个包
go严格区分大小写,句子后不用加分号(因为它会自动加)
go是一行一行编译的,不能多句一行
引入的包或定义的变量如果没使用会报错
main函数是主入口
go语言,希望统一代码风格,一种问题只有一种解决方法(即语法上严格规定某种规范)
/r 回车
处理暂时不用的包(下划线 _ )
两种执行流程的区别
1,通过go build编译的exe文件可以在 别的 没有go环境的计算机上运行,而go run没有生成exe文件,不能做到
2,编译产生的exe文件执行速度比直接go run快
3,exe文件会比较大,因为运行所需的类库也被压缩进去
go语言一行只能写一句,且不用加; 系统会自动加
开发常见错误
go语言注释// or /**/
调用函数的一个方式:import 然后 包名.函数名
变量
rune表示一个unicode码点,类似于int32,可以存放汉字
type==uint8,只能存一个字节
go语言结构体类似于别的语言的class
管道channel用于多并发
切片类似于动态数组
map类似集合
基本数据类型相互转换:go语言变量必须强转换(显式转换)
别的语言可以低精度到高精度直接转换,但是go不行
语法:T(V) T表示数据类型,V表示待转换变量
类似python
package main
import "fmt"
func main() {
var a int = 1
fmt.Println(a)
var f float32 = float32(a)
fmt.Printf("a=%v , f=%v", a, f)
}
注:转换是把值转换并使用,改变的是存储的数据,数据类型没有改变
比如a的值变成了float,然后转给了f,但是a本身没有改变数据类型
查看a的数据类型
fmt.Printf("a type is %T", a)
如果把高精度转给低精度,可能导致溢出,不报错,但结果大不相同
var n1 int64 = 999999
var n2 int8 = int8(n1)
fmt.Printf("%v", n2)