首页 > 其他分享 >04.条件语句

04.条件语句

时间:2024-07-06 23:19:14浏览次数:13  
标签:语句 case 04 ioutil fmt ReadFile score 条件 os

 if 语句

  • if 的条件里可以赋值
  • if 的条件里赋值的变量作用域就在这个 if 语句里

使用 if 语句打开 txt 文件

package main

import (
    "fmt"
    "io/ioutil"
)

func main() {
    const filename = "test.txt"
    //返回两个值([]byte, error)文件内容和出错形式
    contents, err := ioutil.ReadFile(filename)
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Printf("%s\n", contents)
    }
}

运行结果:

 若无此文件会输出:

open test1.txt: The system cannot find the file specified.

if 可以像 for 一样写

package main

import (
    "fmt"
    "os"
)

func main() {
    const filename = "test.txt"
    //返回两个值([]byte, error)文件内容和出错形式
    if contents, err := os.ReadFile(filename); err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(string(contents))
    }
}

ioutil.ReadFile 中的 ReadFile 函数被画上了删除线(通常是灰色或斜体),这通常意味着该函数或包在较新版本的 Go 语言中已经被标记为废弃(deprecated)或者已经有更推荐的替代方式。

对于 ioutil.ReadFile 来说,确实,从 Go 1.16 版本开始,io/ioutil 包中的许多函数,包括 ReadFile,都被认为是过时的,并推荐使用 os 和 io 包中的函数作为替代。具体来说,ioutil.ReadFile 的功能现在可以通过 os.ReadFile 直接实现,后者提供了相同的功能但属于更现代的 API。

使用 os.ReadFile 而不是 ioutil.ReadFile 的好处包括:

  1. 一致性:os 包是处理文件和目录的标准方式,使用它可以使你的代码与 Go 语言的其他部分保持一致。

  2. 未来的兼容性:虽然 ioutil.ReadFile 在当前版本的 Go 中仍然可用,但它在未来的版本中可能会被完全移除。使用 os.ReadFile 可以确保你的代码在未来版本的 Go 中仍然有效。

  3. 性能:在某些情况下,os.ReadFile 可能提供了更好的性能,因为它直接利用了 Go 的内部机制来优化文件读取操作。

switch

  • 会自动 break ,除非使用 fallthrough 
  • switch 后可以没有表达式,case里面写明即可
package main

import (
    "fmt"
)

func grade(score int) string {
    g := ""
    switch {
    case score < 0 || score > 100:
        panic(fmt.Sprintf("Wrong score: %d", score))
    case score < 60:
        g = "F"
    case score < 80:
        g = "C"
    case score < 90:
        g = "B"
    case score <= 100:
        g = "A"
    }
    return g
}
func main() {
    fmt.Println(
        grade(0),
        grade(50),
        grade(70),
        grade(80),
        grade(90),
        grade(100),
    )
}

 

标签:语句,case,04,ioutil,fmt,ReadFile,score,条件,os
From: https://www.cnblogs.com/JJJHaoran/p/18288064

相关文章

  • P7224 [RC-04] 子集积 (背包 dp + 复杂度优化)
    P7224[RC-04]子集积背包dp+复杂度优化考虑dp。容易想到背包dp,设\(f_{i,j}\)表示考虑了前\(i\)个,当前乘积为\(j\)的方案数。枚举\(a_i\)的倍数转移。复杂度\(O(\sum\limits_{i=1}^n\frac{m}{a_i})\)。如果\(a_i\)互不相同,那么近似于\(O(m\lnm)\)。如果还想......
  • C++算法实践04-寻找两个正序数组的中位数
    一、题目:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log(m+n)) 。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nu......
  • Ubuntu 22.04.4 LTS 安装 php apache LAMP 环境nginx
    1安装php-fpmaptupdateapt-getinstallphp-fpm#配置php-fpm服务启动systemctlenablephp8.1-fpmsystemctlstartphp8.1-fpm#查看服务systemctlstatusphp8.1-fpm#查看版本root@iZbp1g7fmjea77vsqc5hmmZ:~#php-vPHP8.1.2-1ubuntu2.18(cli)(built:......
  • L1-046 整除光棍(模拟除法)
    这里所谓的“光棍”,并不是指单身汪啦~说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示......
  • L1-048 矩阵A乘以B
    给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列,B有Rb​行、Cb​列,则只有Ca​与Rb​相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给......
  • 数据库——常用SQL语句
    title:数据库——常用SQL语句date:2024-07-0612:25:36tags:数据库categories:数据库cover:/image/T1.jpgdescription:数据库的常用SQL语句SQL语句SQL(StructuredQueryLanguage)是一种用于访问和操作数据库系统的标准编程语言。它允许用户执行各种数据管理任......
  • SQL语句优化
    SQL语句优化插入数据优化批量插入注:通过测试,若插入一千万条数据,不使用批量插入,每条一个insert需要耗费时间10分钟左右,但若是通过批量插入耗费时间为十几秒左右,由此可见使用批量插入可以极大的提高性能,同时减少多次访问数据库对数据库造成的压力。注:若在springboot或sprin......
  • SQL语句(DQL)
    DataQueryLanguage(数据查询语言),用来查询数据库中表的记录DQL-基本查询DQL-条件查询(WHERE) --查询姓名为2个字的员工信息select*fromempwherenamelike'__';--查询身份证号最后一位是X的员工信息select*fromempwhereidcardlike'%X';select*fromem......
  • 读人工智能全传04NP完全问题
    1. 问题解决与搜索1.1. 解决问题的能力无疑是区分人类和其他动物的关键能力之一1.1.1. 解决问题是需要智慧的1.2. 汉诺塔1.2.1. 对于三个金环而言1.2.1.1. 你不可能找到少于7次的解决方案了1.2.2. 最初,我们只能选择移动最小的金环,只有将它移动到中间或者最右边的柱......
  • 常用的SQL语句
    这里只记录了常用的一些SQL语法。1、数据查询//基础查询SELECTcolumn1,column2FROMtable_name;//查询所有列SELECT*FROMtable_name;//带条件的查询SELECTcolumn1,column2FROMtable_nameWHEREcondition;//去重查询SELECTDISTINCTcolumn_nameFROMtable......