第二节——go基础
Posted 想学习安全的小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二节——go基础相关的知识,希望对你有一定的参考价值。
变量声明
- 方法:var关键字+变量名+变量类型。eg:var s1 string
- 批量声明变量方法:var(变量名1 类型/n 变量名2 类型/n),eg:
var(
name string // “”
i int // 0
flag bool // false
)
- go语言中非全局变量声明必须使用,不使用编译无法通过
变量初始化
- 声明后在函数中赋值,eg:name=“qwe”
- 在声明时初始化,eg:var name string = “qwe”
- 在声明时赋值,可以省略变量类型声明,go可以根据值取推到,eg:var name = “qwe”
- 简短变量声明,使用
:=
符号,简短变量声明省略了var以及类型声明,只能用于函数中,name:=“qwe”
匿名变量
- 匿名变量使用一个下划线
_
代替,匿名变量不占用空间,一般用于接收不使用的函数返回值,eg:x,_=func()
常量
- 定义:const 名称 = 值,eg:const pi = 3.14
- 批量声明
const(
n1=100
n2 //n2没有赋值,n2的值与上一行一致,n2=100
)
iota
- 定义:iota是常量计数器,在const关键字出现时归零,每定义一个常量,iota+1
const(
n1=iota // =0
n2=iota // =1
n3 // =2
)
fmt.Println("n1:", n1) =0
fmt.Println("n2:", n2) =1
fmt.Println("n3:", n3) =2
八进制与十六进制
- go语言不能定义2进制,但能定义八进制与十六进制
- 定义八进制需要在数据前加0
- 定义十六进制需要在数据前加0x
//定义十进制
n1:=8
//定义八进制
n2:=010
//定义十六进制
n3:=0xa
fmt.Println("n1:", n1) // =8
fmt.Println("n2:", n2) // =8
fmt.Println("n3:", n3) // =10
- 将十进制转换成八进制输出可以使用占位符%o,十进制转换成十六进制输出可以使用占位符%x,借助输出函数
Printf
n1:=8
fmt.Printf("n1=%d",n1)
fmt.Printf("n1=%o",n1)
fmt.Printf("n1=%x",n1)
字符串与字符
- 用双引号包裹的是字符串,用单引号包裹的是字符
字符串的修改
- string定义的字符串一旦赋值了,里面的值就无法修改
- 需要修改的话,需要将string转换成rune切片,在切片中修改值后再转换成字符串
s1:="白萝卜"
s2:=[]rune(s1)
s2[0]='红'
s1=string(s2)
fmt.Println(s1)
以上是关于第二节——go基础的主要内容,如果未能解决你的问题,请参考以下文章