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

  • 相关阅读:
    Java多线程之线程安全队列Queue与同步容器
    Java的四种引用方式
    java编程使用freemarker导出word问题
    Hive 报错:java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
    windows10上Eclipse运行MapReduce wordcount程序遇到的坑
    HDFS中namenode启动失败
    【将文件中字符串赋值到 ArrayList 中】
    【把 ArrayList 集合中的字符串内容写到文本文件中】
    【复制文本:按行复制文件】
    【复制文本:字符缓冲流】
  • 原文地址:https://www.cnblogs.com/songcuiting/p/11427310.html
Copyright © 2020-2023  润新知