go 语言实践: switch 语句的使用

go语言中的 switch 可以一个条件一个分支 switch flag { case 1: fmt.Println("one") case 2: fmt.Println("two") } 可以多条件写一个分支 switch flag { case 1: fmt.Println("one") case 2,3,4: fmt.Println("two,three,four") } 可以把判断条件写到case 后面 switch { case flag == 1:

go 语言实践:欧几里得算法-求最大公约数

go语言实现欧几里得算法 求2个数的最大公约数 辗转相除法 大数对小数求余 余数不为零时,小数对余数求余 余数为零时,小数就是俩个数的最大公约数 package main import "fmt" func divisor(min, max int) (maxDivisor int) { //用大数对小数取余 complement := max % min //余数不为零,小数作为大数,将余数作为小数,大数对小数递归求余 if complement != 0 { maxDivisor = divisor(complement, min)

go 语言实践:随机数生成

go语言中的随机数 math/rand包操作随机数, rand.Seed(seedNum)方法设定种子值, rand.Intn(n)获取一个小于n的随机数,[ 同一个种子值,生成的随机数是确定的 ] 所以go语言中的随机数取决于种子的随机性, 一般情况下可以采用系统时间的毫秒数作为种子值. 当种子值相同时 package main import ( "fmt" "math/rand" ) func main() { rand.Seed(888) //获取8个小于1000的随机数 for i := 0; i < 8; i++ {

go 语言实践:冒泡排序法 和 选择排序法对比

go 冒泡排序 & 选择排序 冒泡排序 将每一个数同相邻的下一个数对比,如果比下一个数大则交换位置. func bubble(list []int) []int { //用来拍断是否完成排序 flag := true len := len(list) for i := 0; i < len-1; i++ { //预设没有发生交换 flag=true,当发生交换,flag=false flag = true for j := 0; j < len-1-i; j++ {

go 语言中如何实现继承

回顾 一.之前说到了go中如何实现类 传送门 二.go中如何实现类的封装 传送门 go 语言中如何实现继承 package main import ( "fmt" ) type people struct { name string age int } func (p people) GetName() string { return p.name } type Student struct { people grade int } func (s Student) GetGrade() int { return s.gr

go 语言中类的封装

go中的类的定义和使用 之前一篇博客详细介绍了go语言中如何定义类,使用类, 点击查看 go语言中如何实现封装? go是直接支持strut的封装的,go语言的可见性是根据首字母大小写来实现的. 首字母大写表示对外部可见,类似C#中的public,首字母小写,对外部不可见,类似C#中的private. package main import ( "fmt" ) type Student struct { name string age int } func (s Student) GetName() string { return s.name } func

go语言换行的地方可以用分号替代吗?

go语言中默认用换行来表示语句结束,那么能不能用分号来代替换行呢? package main import ( "fmt" ) func main() { fmt.Println("hello world") main函数的左花括号必须在main同行,否则出错. 为什么go语言要这么玩呢? 这是为了在语言层面强制让所有使用者统一编程规范. 看看go圣经中的原话, 我来手动打一下: In effect, newlines following certain tokens are converted into semicolons, so where newline
  • 1

回到顶部