三、GO语言基础
程序员文章站
2022-07-14 20:32:13
...
1.变量
对存储空间起一个名字,后续使用名字对数据进行访问或者修改
package main
import "fmt"
var version string = "boss"
//函数外定义变量,也就是包级别的变量可以不使用
func main() {
var me string
fmt.Println(me) //在没有赋值的时候,会赋一个零值 每个类型零值都不同
me = "name"
//函数内的变量 声明定义后不使用会报错
fmt.Println(me)
fmt.Println(version)
var name, age string = "qu", "24"
fmt.Println(name, age)
var (
hight float64 = 1.7
ages int = 31
)
fmt.Println(hight, ages)
var (
aa = "haha"
ss = 22
)
// 省略类型 go会自己推导
fmt.Println(aa, ss)
//这是一个简短声明,只能在函数内部使用
isBoy := false
fmt.Println(isBoy)
isBoy = true
fmt.Println(isBoy)
//一个变量可以多次赋值 但是只能声明一次
var e, ee int = 1, 2
fmt.Println(e, ee)
e, ee = ee, e
fmt.Println(e, ee)
//变量值替换
}
2.常量
定义之后不可修改
声明常量 const name type
声明常量必须设定值
在括号内声明多个常量时,可以同事省略类型、值, 表示与前一个常量值相同
应用 枚举类型 iota(默认从0开始)
package main
import "fmt"
func main() {
const NAME string = "bb"
fmt.Println(NAME)
//常量只能赋值一次不能多次赋值,多次赋值会报错
//省略类型
const i = 16
fmt.Println(i)
//定义多个常量(相同类型)
const aa, bb string = "bb", "cc"
fmt.Println(aa, bb)
//定义多个常量(不同类型)
const (
dd string = "eee"
oo int = 16
)
fmt.Println(dd, oo)
//定义多个常量,省略类型
const (
b = 16
c = "ss"
)
fmt.Println(b, c)
// 常量必须设置默认值
const (
C1 int = 1
C2
C3
)
fmt.Println(C1, C2, C3)
//常量赋值如果类型跟值都相同,那么可以省略类型以及值
//枚举,const+iota
const (
D1 = iota
D2
D3
D4
)
fmt.Println(D1, D2, D3, D4)
const (
E1 = (iota + 1) * 100
E2
E3
E4
E5
)
fmt.Println(E1, E2, E3, E4, E5)
}
3.注释
注释分为单行注释以及多行注释
单行注释表示方法 //
多行注释表示方法/开始/结束
4.作用域
作用域指变量可以适用范围,go语言使用大括号现实的标识作用域范围,打括号内包含一连串的语句,叫做语句块。语句块可以嵌套,语句块内定义的变量不能在语句块外使用。
在同一个作用域内标识符只能被声明一次,{}用来显示声明一个作用域
作用域内定义变量只能被声明一次且变量必须使用,否则编译错误。在不同作用于可定义相同的变量,次视局部将覆盖全局
常见隐式语句块:
全语句块
包语句块
文件语句块
if、switch、for、select、case语句块
package main
import "fmt"
func main() {
//作用域: 定义标识符可以使用的范围
//在Go中用{}来定义作用域的范围
//使用原则: 子语句块可以使用父语句块的标识符,但是父语句块不能使用子(或者孙)语句块的标识符
D1 := 2
var aa string = "bb"
fmt.Println(D1, aa)
{
fmt.Println(aa)
var aa int = 16
fmt.Println(aa)
D2 := 3
fmt.Println(D1, D2)
}
}
5.问题追踪
fmt.Print 打印不换行
fmt.Println 打印并换行
fmt.Printf 可以使用占位符
常用占位符表示
%T 打印类型
%s 字符串
%f 浮点数
%v 使用本身类型格式化 、
%t bool
%b 二进制表示
%c 相应Unicode码点所表示的字符
%d 十进制
%o 八进制
%x 十六进制 字母形式小写a-f
%X 十六进制表示 字母形式大写A-F
%p 指针
上一篇: 使用KNN算法进行回归拟合
下一篇: KNN算法学习笔记