一、定义变量总结
- var a int :显示指明a的类型;
- var s1,s2,s3=1,2,"string":定义多个变量,不用显示指明类型
- a,b,c:=1,2,3:使用:=定义多个变量,此时可以省略var关键字。第一次定义变量可以用:=,但是再重新赋值就不能用:=再赋值,推荐使用:=赋值
- 在函数外部不能使用:=赋值。只能用var 关键字声明
- 包内部的变量每一行我们都是用var比较繁琐,可以用var()将变量括起来,从而省略var关键字
var(
a=10
b=11
)
变量定义1
变量定义2:使用:=,此时可以省略var关键字,并且可以进行类型推断。不用显示指明
package main
import (
"fmt"
)
var(
l,s,f=1,2,3
)
func main() {
fmt.Print("hello go")
//带类型的变量定义
var a int
var b string
fmt.Print(a,b)
// 使用括号简化书写,在其中定义多个变量
var (
c,d,f=1,2,3
)
var m,p =12,3
//省略var,用:=来书写
h,i,j:=12,3,54
fmt.Print(c,d,f,m,p,h,i,j)
}
二、内建变量类型
内建变量类型复数回顾
- go语言类型转换必须是强制的
func main() {
a,b := 3,4
var c int
// go语言只有强制类型转换,所以这里要用float64进行转换才能接受该参数
c= int(math.Sqrt(float64(a*a+b*b)))
fmt.Print(c)
}
*三、‘常量与枚举
常量constfunc main() {
const a,b =10,22
const filename string="abc.txt"
const(
c,d=1,2 //定义一组常量
)
math.Sqrt(a*a+b*b) //const常量是不用进行转换的,但是假如对a进行类型限定,此时就一定要进行强制类型转换
}
定义枚举
func main() {
enums()
}
func enums(){
//用一组const来表示枚举
const (
java = 0
cpp = 1
python = 2
golang = 3
)
//在const中用iota值表示这组const是自增的
const(
green = iota
yellow
black
white
)
fmt.Print(green,yellow,black,white)
}
iota可以表示运算,1左移多少位
四、条件结构
func main() {
var filename string = "abc.txt"
//函数可以返回两个返回值
conttents,err := ioutil.ReadFile(filename)
if conttents != nil{
//用Printf来打印文件内容
fmt.Printf("%s",conttents)
}
fmt.Print(err)
}
简化版本的if:可以将条件写在if后面
func main() {
var filename string = "abc.txt"
if conttents,err:=ioutil.ReadFile(filename) ;err!=nil{
print(err)
}else{
fmt.Printf("%s",conttents)
}
}
网友评论