go(四)

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语句。

原文地址:https://www.cnblogs.com/songcuiting/p/11427310.html