Go语言学习笔记三

package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
//branch()
//outil()
//otila()
	//ioutils()
	//ioutilss()
	//block()
	const (
		a int = 100
		b int = 250
	)

	fmt.Printf(switch3(60))
	//fmt.Println(test1Switch(a, b ,"+"))
}
//条件
func branch() {
	const sum int = 10
	var number int = 100
	if number > 290 {
		fmt.Println("success")
	} else if number < 110 {
		fmt.Println("ssssss")
	} else {
		fmt.Println("error")
	}
}

func outil() {
	const (
		filename = "abc.txt"
		)
//ioutil.ReadFile 读取文件,并返回文件内容 成功返回 nil 而不是返回EOF
    contents, err := ioutil.ReadFile(filename)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("%s\n", contents)
	}
}

func otila() {
	const filename = "abc.txt"
	contents, message := ioutil.ReadFile(filename)

	if message == nil {
		fmt.Printf("%s\n", contents)
	} else {
		fmt.Println(message)
	}
}

func ioutils() {
	const (
		//文件路径在根目录
		filename = "abc.txt"
	)
	var contents, message = ioutil.ReadFile(filename)

	if message != nil {
		fmt.Println(message)
	} else {
		fmt.Printf("%s\n", contents)
	}
}

//if 语句连着写 可以用 ;号隔离
func ioutilss() {
	filename := "abc.txt"

	if contents, message := ioutil.ReadFile(filename); message != nil {
		fmt.Println(message)
	} else {
		//%s字符串
		fmt.Printf("%s\n", contents)
	}

//作用域 在if的block中 在外不可调用
//fmt.Println(contents)
}

func block() {
	filename := "abc.txt"
	if contents, message := ioutil.ReadFile(filename); message != nil {
		fmt.Println(message)
	} else {
		fmt.Printf("%s\n", contents)
	}

}
//方法也必须加上类型
func switchs(a int, b int, ops string) int {

	var c int

	switch ops {
	case "+":
		c = a + b
	case "-" :
		c = a - b
	case "*" :
		c = a * b
	case "/" :
		c = a / b
	default :
		panic("unsupported operator: " + ops)
	}

	return c
}


func testSwitch(a int, b int, opt string) int {

	var c int

	switch opt {
	case "+" :
		c = a + b
	case "-" :
		c = a - b
	case "*" :
		c = a * b
	case "/" :
		c = a / b

	}

	return c
}

//
func test1Switch(a int, b int, opt string ) int {
	var c int

	switch opt {
	case "+" :
		c = a + b
	case "-" :
		c = a - b
	case "*" :
		c = a * b
	case "/" :
		c = a / b
	default :
		panic("失败" + opt)
	}
	return c
}

func switch3 (num int) string {
	var result string

	switch {
	case num < 0 || num > 100 || num < 49:
		panic("error:"+result)
	case num == 50 :
		result = "A-50"
	case num == 60 :
		result = "B-60"
	case num == 70 :
		result = "C-70"
	case num == 80 :
		result = "D-80"

	}
	return result
}

 

if条件里可以赋值

if的条件里赋值的变量作用域就是这个if语句里

switch 自动break 除非使用fallthrough panic 类似于报错 中断程序运行

方法返回也必须定义类型 !!!

switch后可以没有表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值