go的常用方法
(1)获取用户屏幕输入的信息
//导入fmt包 使用fmt.ScanIn()或者fmt.Scanf()
var name string
var age int
//将用户输入的值放到name的地址的指向
fmt.ScanIn(&name)
fmt.ScanIn(&age)
fmt.Println("请输入用户的名字,年龄,使用空格分分隔开")
fmt.Scanf("%s %d",&name,&age)
if分支
//golang支持在if中,直接定义一个变量,例如
//对于if,条件语句不需要使用括号将条件包含起来
//即使方法体内只有一行代码,也需要用{}大括号,在java中这种情况可以不用大括号
if age := 20;age > 18{ fmt.Println("你已经成年了") }
switch
在golang中匹配项后面不需要加break
//switch的基本语法 //可以同时测试多个可能符合条件的值,使用逗号分割它们,例如:case val1, val2, val3。当然也可以是单个。 //表达式可以是任何类型,而 表达式1 和 表达式2,表达式3 则可以是同类型的任意值。类型不被局限于常量或整数,但必须是相同的类型;或者最终结果为相同类型的表达式
/**
1. 支持多条件匹配
2. 不同的 case 之间不使用 break 分隔,默认只会执行一个 case。
3. 如果想要执行多个 case,需要使用 fallthrough 关键字,也可用 break 终止。
*/
switch 表达式{ case 表达式1,表达式2,...: 语句块1 case 表达式3,表达式4, ....: 语句块2 default: 语句块 }
//switch可以不带表达式,类似if....else的写法
switch{
case 1:
...
if(...){
break
}
fallthrough // 此时switch(1)会执行case1和case2,但是如果满足if条件,则只执行case1
case 2:
...
case 3:
}
for循环
//语法介绍 //可以看到,for后面的表达式是不需要用()小括号括起来的
//第一种写法
for i := 1; i<=10;i--{ fmt.Println("hello") }
//第二种写法
j := 1
for j <= 10{
fmt.Println("hello")
j++
}
//for循环的第三种写法,没有任何条件,这个时候就相当于一个死循环,需要配合break语句使用。
//等价于for;;{} ,是一个无限循环
for{
//循环执行语句
}
//for循环的用途 //1、可以用来for-range遍历字符串,数组 //传统当时遍历字符串 var str string = "hello,world"; for i:=1; i<len(str);i++{ fmt.Println("%c ",str[i]); } //for-range方式 var str = "hello 你好" for key, value := range str { fmt.Printf("key:%d value:%c ", key, value) }
while表达式
go语言中只有while,没有都while语句。