go语言
Posted zahngyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言相关的知识,希望对你有一定的参考价值。
1. 函数高级,类型命别名
2.if - else的使用
3.包的使用
4.for循环
5.switch的使用
6.数组的使用
一. 函数高级,类型命别名
二.if - else的使用
//if -else package main import "fmt" func main() { a:=90 //1.//if 条件 {} if a==90{ //在go语言中缩进什么的都无所谓,但是这个花括号与条件不能换行 fmt.Println("a是90") } //2. if a>90{ fmt.Println("a大于90") }else if a<90{ fmt.Println("a小于90") }else{ fmt.Println("a等于90") } //3.// 在条件中可以定义变量,但是他的作用域范围只在if判断内部使用 if a:=90;a>90{ fmt.Println("a大于90") }else if a==90{ fmt.Println(a) } //fmt.Println(a) }
三.包的使用
使用调用
四.for循环
//for 循环 package main import "fmt" func main() { // 这是一个最简单的for循环 定义一个变量也就是初始化,写一个条件,自增 for i:=0;i<10;i++{ fmt.Println(i) } // 三部分,都可以省略 // 先省略第一部分 i :=0 for;i<10;i++{ fmt.Println(i) } // 省略第三部分 i :=0 for;i<10;{ i++ fmt.Println(i) } // 省略第二部分 变成无线循环 for ;;{ fmt.Println("xxx") } // 死循环 for { fmt.Println("xxx") } //只写条件,for 条件{} 等同于while循环 for { fmt.Println("adadjaksd") } //注意:break和continue跟其他语言都是一样的 for i:=0;i<10;i++{ if i==5{ break } fmt.Println(i) } } for i:=0;i<10;i++{ if i==5{ continue } fmt.Println(i) } }
五.switch的使用
// switch语句 package main import "fmt" func main() { // 基本用法,我首先定义了一个变量a=10, //然后在下面判断case如果有等于10,就打印我给的要打印的 a:=10 switch a { case 1: fmt.Println("1") case 2: fmt.Println("2") case 10: fmt.Println("10") //default用法,如果都不匹配,就走default a:=11 switch a { case 1: fmt.Println("1") case 2: fmt.Println("2") case 10: fmt.Println("10") default: fmt.Println("不知道") //多值匹配 只要多个值里面有一个能匹配上就可以 a:=11 switch a { case 1,4,5: fmt.Println("1") case 2,8,9: fmt.Println("2") case 10,11: fmt.Println("10") default: fmt.Println("不知道") //无表达式的 switch a:=11 switch { case a>10: fmt.Println("大于10") case a<10: fmt.Println("小于10") default: fmt.Println("10") } // fallthrough穿透,就是可以无条件的穿透下一个case的类容 a:=10 switch a { case 1: fmt.Println("1") fmt.Println("xxxx") case 2: fmt.Println("2") case 10: fmt.Println("10") //穿透,无条件执行下一个case的内容 fallthrough case 11: fmt.Println("11") test5() fallthrough case 12: fmt.Println("12") } } func test5() { fmt.Println("xxxxxx") }
六.数组的使用
// 数组 在定义阶段,长度和类型就固定了,以后不能更改 package main import "fmt" func main() { var a [5]int //定义一个长度为5的int类型数组 a[1]=100 //把第二个位置放上100 fmt.Println(a) //定义赋初值 为什么还要等于一个[6]int,如果不写的话,你找到变量还有后面写的是什么类型么 var a [6]int=[6]int{1,2,3,4,5,6} var a =[6]int{1,2,3} // 会补0 a :=[6]int{1,2,3} a[5]=100 fmt.Println(a) //把第99个位置设为99 a :=[100]int{1,2,98:99,87:88} fmt.Println(a) // 数组是值类型 //所有的函数传参都是copy传递 //a:=[4]int{1,2,3} //test6(a) //fmt.Println(a) // 数组的长度,内置函数len a:=[4]int{1,2,3} fmt.Println(len(a)) // 数组大小是类型的一部分,一个是5一个是4类型不一样,也不能赋值 var a [4]int=[4]int{1,2} var b [5]int=[5]int{4,5} a=b fmt.Println(a) //与 或 非 //&& || ! a:=10 if !(a>9||a<6){ } //数组迭代 var a [4]int=[4]int{1,2,} //for i:=0;i<len(a);i++{ // fmt.Println(a[i]) //} //通过range迭代 for i,v:=range a { //for i:=range a { fmt.Println("------",i)// 打印索引 fmt.Println(v) // 打印值 } //多维数组 var a [7][2]int// 一个大列表套七个小列表,么诶个列表里面都是00 a[0][1]=100 fmt.Println(a) }
以上是关于go语言的主要内容,如果未能解决你的问题,请参考以下文章
[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础
解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段