在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.go语言基本数据类型 2.变量的定义 3.多重复制,匿名变量 4.常量的定义,使用 5.类型转化 6.条件结构,循环结构 一、go语言基本数据类型 1.整型 rune 类型是 Unicode 字符类型,和 int32 类型等价,通常用于表示一个 Unicode 码点。rune 和 int32 可以互换使用。 byte 是uint8类型的等价类型,byte类型一般用于强调数值是一个原始的数据而不是 一个小的整数。 其中常用的就是int。 2.浮点型 Go语言提供了两种精度的浮点数,float32和float64。它们的算术规范由IEEE754浮点数国际标准定义, 该浮点数规范被所有现代的CPU支持。 3.布尔型 一个布尔类型的值只有两种:true和false。if和for语句的条件部分都是布尔类型的值,并且==和<等比 较操作也会产生布尔型的值。 4.字符串 一个字符串是一个不可改变的字节序列。字符串可以包含任意的数据,包括byte值0,但是通常是用来包 含人类可读的文本。 5.此外还有枚举型,复数类型 二、变量的定义 1.go语言中定义变量语法与其他语言不同 var 变量名 类型 = 值
package main import "fmt" func main() { var i int = 5 //声明一个整型并赋值 var 变量名 类型 = 值 fmt.Println("i = ", i) var b bool = false //申明一个布尔型并赋值 fmt.Println("b = ", b) var f float64 = 3.14 //申明一个浮点型并赋值 fmt.Println("f = ", f) var s string = "2018年5月2日" //申明一个浮点型并赋值 fmt.Println("s = ", s) var c byte = 'c' //申明一个字符型并赋值 fmt.Println("c = ", c) fmt.Printf("c = %c \n", c) //使用fmt.Printf 格式化输出打印字母c //基本数据类型默认值 var i_1 int fmt.Println("i_1 = ", i_1) //0 var b_1 bool fmt.Println("b_1 = ", b_1) //false var f_1 float64 fmt.Println("f_1 = ", f_1) //0 var s_1 string fmt.Println("s_1 = ", s_1) //空字符串 var c_1 byte fmt.Println("c_1 = ", c_1) //0 } 2.变量的其他赋值方式
package main import "fmt" func main() { //连续赋值 var a, b, c, d int = 1, 2, 3, 4 fmt.Printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d) //多重赋值 var ( a0 int f0 float64 b0 bool s0 string c0 byte )
fmt.Printf("a0 = %v\nf0 = %v\nb0 = %v\ns0 = %v\nc0 = %v\n", a0, f0, b0, s0, c0) //%v 可自动匹配类型 // := 自动推到类型,声明变量的同时赋值 x := 11 y := 3.1415926 z := "Hello Go" fmt.Printf("x = %v\ny = %v\nz = %v\n", x, y, z) fmt.Printf("x = %T\ny = %T\nz = %T\n", x, y, z) //%T 打印数据类型 } 三、类型转换 package main import ( "fmt" "strconv" ) func main() { f := 3.14 i := int(f) fmt.Println(i)
b := true //定义一个布尔型变量b fmt.Printf("b = %v\n", b) //%d 匹配类型为整形,打印结果为b = %!d(bool=true) // fmt.Printf("b = %d\n", b) //布尔类型与整型不能相互转换 // fmt.Printf("b = %d\n", int(b)) //cannot convert b (type bool) to type int s := "2018" //func Atoi(s string) (i int, err error) //使用_匿名变量,忽略第二个返回值 x, _ := strconv.Atoi(s) //i声明为整型,使用strconv.Atoi函数将字符串转换为int fmt.Printf("x = %d\n", x) // ParseFloat 将字符串转换为浮点数 // s:要转换的字符串 // bitSize:指定浮点类型(32:float32、64:float64) // 如果 s 是合法的格式,而且接近一个浮点值, // 则返回浮点数的四舍五入值(依据 IEEE754 的四舍五入标准) // 如果 s 不是合法的格式,则返回“语法错误” // 如果转换结果超出 bitSize 范围,则返回“超出范围” //func ParseFloat(s string, bitSize int) (f float64, err error) f1, _ := strconv.ParseFloat("0.321646843164131647697", 64) fmt.Println("f1 = ", f1) } strconv 用法:https://studygolang.com/articles/5003四、类型别名
package main import "fmt" func main() { type long int64 var l long = 123 //就相当于 var l int64 = 123 fmt.Printf("l = %T\n", l) //打印结果 l = main.long } 给int64取了一个别名long,之后用long声明变量类型就相当于int64. 五、变量的输入 获取用户键盘输入数据,并赋值给变量 package main import "fmt" func main() { var a int //定义一个整数用来保存用户输入 fmt.Println("请输入一个整数:") fmt.Scan(&a) //取a的地址将用户输入赋值给a fmt.Println("您输入的是:", a) } 运行结果为: 六、if else 条件结构
package main import "fmt" func main() { i := 1 if i == 1 { fmt.Println("i等于1") } else { fmt.Println("i不等于1") }
} 条件结构基本一样 七、循环结构 go语言中没有while关键字,所以go语言只存在for 循环。 package main import "fmt" func main() { //使用for循环10次,打印i的值 for i := 0; i < 10; i++ { fmt.Println("Hello i = ", i) }
var a int // for { fmt.Println("Hello a = ", a) a++
if a == 10 { break //跳出循环,否则程序一直循环下去 }
}
} 两种for循环打印的结果相同 八、goto 的使用
package main import "fmt" func main() { fmt.Println("1111111111111111111111") goto End fmt.Println("2222222222222222222222") End:
fmt.Println("33333333333333333333333") } 不使用goto的情况下,程序会1,2,3都打印,而使用goto后,程序会跳过goto之后的程序,执行用户定义的标签的地方,因此程序打印结果只有1和3。 |
请发表评论