一·if -else
(1)
package main
import "fmt"
// if - else
//func main(){
// // 先定义 一个变量
// var a int=90
// // if 条件{} 大括号和条件之间不能进行换行
//
// if a>90{
// fmt.Println("大于90")
// }else if a<90{
// fmt.Println("a 小于90")
// }else{
// fmt.Println("a等于90")
// }
//
//}
(2)在条件作用域中定义的变量可以 使用 作用域的问题
// 在条件作用域中定义的变量可以 使用 作用域的问题
// 在函数中 进行条件判断
func main(){
if a:=90;a>90{
fmt.Println("大于90")
} else if a<90{
fmt.Println("小于90")
}else{
fmt.Println("等于90")
}
}
二. 包的使用
// 包的使用
package main
import "mypackage"
import "fmt"
func main() {
//想使用mypackage包下的test函数和test1函数
mypackage.Test1()
fmt.Println("xxx")
}
使用外部的包必须首字母大写 使用同一包内的函数导入 导入的包必须一致
三.for 循环
package main
import "fmt"
// for 循序
func main(){
// 1.for 语法
//for i:=0;i<10;i++{
// fmt.Println(i)
//}
// 三部分,都可以省略
// (1)先省略第一部分 i:0
//i:=0
//for ;i<10;i++{
// fmt.Println(i)
// (2)省略第三部分
//i:=0
//for ;i<10;{
// i++
// fmt.Println(i)
// (3)省略第二部分
// for ;;{
// fmt.Println("yyyy") // 死循环 没有哦终止条件 相当于while True
//}
// for {
// // 死循环的写法
// fmt.Println("hjah")
// }
(2)break 和continue 的用法
package main
import "fmt"
// for 循序
func main(){
// (4) break 和continue
//for i:=0;i<20;i++{
// if i == 5{
// // 如果i 等于5 就直接终止种鸽函数
// break
// }
// fmt.Println(i)
//}
// continue 的用法
for i:=0;i<20;i++{
if i==5{
continue
}
fmt.Println(i) // 0 不等于5 打印 过滤掉5 的值
}
}
(3)switch 的基本用法
package main
import "fmt"
// switch的基本语句
func main(){
// 基本用法
a:=11
switch a {
case 1:
fmt.Println("我是1")
case 2:
fmt.Println("我是2")
case 10:
fmt.Println("我是10")
// 设置以上都不满足 我们default
default:
fmt.Println("我是默认值")
}
(2)多值匹配
package main
import "fmt"
// switch的基本语句
func main(){
// 基本用法
a:=12
switch a {
case 1,4,5:
fmt.Println("我是1")
case 2,6,8:
fmt.Println("我是2")
case 10,11,12:
fmt.Println("我是10,11,12 中的12")
// 设置以上都不满足 我们default
default:
fmt.Println("我是默认值")
}
}
(3)无值表达式
unc main(){
// 基本用法
a:=10
switch {
case a>10:
fmt.Println("大于10")
case a<10:
fmt.Println("小于10")
default:
fmt.Println("默认值")
}
(4)//Fallthrough 的用法:穿透, 无条件的执行下一个case 的内容
package mainimport "fmt"// switch的基本语句func main(){ // 基本用法 //switch a { //case 1,4,5: // fmt.Println("我是1") // //case 2,6,8: // fmt.Println("我是2") //case 10,11,12: // fmt.Println("我是10,11,12 中的12") //// 设置以上都不满足 我们default //default: // fmt.Println("我是默认值") // 无表达式的switch a :=10 switch a { case 1: fmt.Println("1") case 2: fmt.Println("2") case 10: fmt.Println("10") test() fallthrough case 12: fmt.Println("穿透") }}// 外部的函数func test(){ fmt.Println("穿透1")}
(5)数组和迭代及多维数组
package main
import "fmt"
// 数组 值传递(不可变)和值的引用(可变)
func main(){
// var a [5]int //定义了一a 的数组 长度为5的int类型的数组
// a[1]=999 // 把索引为1的位置换成100
// (1)定义并未赋初值
//var a [5]int
//fmt.Println(a) // [0 0 0 0 0]
//a[1]=999
//fmt.Println(a) // [0 999 0 0 0]
// (2)定义并切赋初值
// var b[6]int=[6]int{1,2,3,4,8} // 长度必须小等于6 不足0补全
// fmt.Println(b)
// var b=[6]int{1,2,3} // [1 2 3 0 0 0]
// fmt.Println(b)
// (3)第67 的位置设置为6767 a[-9]是不支持的哦
// a:=[100]int{1,2,3,65:6767}
// fmt.Println(a)
// (4)数组是值类型 ()>>> 所有的函数传参都是copy 传递
// a:=[4]int{1,2,3}
// test1(a) // 函数加括号执行调用 [100,2,3,0] 将0 的位置1 替换成100
// fmt.Println(a) // 打印[1,2,3,0] // 原值是不会发生改变的
// (5) 数组的长度 内置函数的len
//a:=[10]int{6,6,7}
//fmt.Println(len(a))
// (6)数组的大小是类型的一部分
// var a [4]int=[4]int{1,2}
// var b [5]int=[5]int{4,5}
// fmt.Println(a=b) 没办法进行大小的比较
// (7)go 中的与(&&) 或(||) 非!
// a:=10
// if (a>10||a<6){
// fmt.Println("ye")
//
// }else if !(a>10) {
// fmt.Println("ok")
//}
// (8)数组的迭代
//a:=[5]int{1,4,5,6,70}
//for i:=0; i<len(a);i++{
// fmt.Println(a[i]) // 获取数字的值 索引取值
//}
// 通过range迭代
//for i,v:=range a{
// fmt.Println(i,v) // i 为索引 v 为值
//}
// (9) 多维数组
var a [5][2]int
a[0][1]=10
fmt.Println(a) // [[0 10] [0 0] [0 0] [0 0] [0 0]]
}
// 外部函数b
func test1(b [4]int){
b[0]=100
fmt.Println(b)
}
来源:https://www.cnblogs.com/mofujin/p/12019244.html