go入门学习-流程控制

环境变量

  • GOPATH 你的工程目录 ;里面包含三个目录、bin(安装的二进制文件)、src(你的源码文件)、pkg(编译后的库文件)
  • GOROOT go语言安装目录

个人项目结构
在这里插入图片描述

公司项目结构
在这里插入图片描述

命令介绍

  • go run 运行go文件
  • go build 编译go文件,在当前目录下生成编译后的文件;也可以不在当前路径下执; 执行命令格式: go build $GOPATH/src开始你的目录地址。例如
    C:\Users\Administrator>go build go.study.cn/hello
    

go运行时错误

package github_com
import "fmt"

func main()  {
	fmt.Println("hello world")
}

提示:go run: cannot run non-main package

解决:main方法只能放在package main中,go run 是执行命令,必须要一个main用来调用

package main

import "fmt"

func main()  {
	fmt.Println("hello world")
}

for循环的几种形式

func main()  {
	var i=1
	for ; i<10;i++  {
		fmt.Println(i)
	}
}

func main()  {
	var i=1
	for  i<10 {
		fmt.Println(i)
		i++
	}
}


无线循环

func main()  {
	for  {
		fmt.Println("123")
	}
}

遍历

遍历字符串;中文占三个字节

func main()  {
	var str ="goodgoodstudy 好好学习"
	for i,v :=range str {
		fmt.Printf("%d %c\n",i,v)
	}
}

switch

常规

func main()  {
	var n=3
	switch n {
	case 1:
		fmt.Println("一")
	case 2:
		fmt.Println("二")
	case 3:
		fmt.Println("三")
	default:
		fmt.Println("无效的数字")
	}
}
func main()  {
	switch n:=3;n {
	case 1:
		fmt.Println("一")
	case 2:
		fmt.Println("二")
	case 3:
		fmt.Println("三")
	default:
		fmt.Println("无效的数字")
	}
	fmt.Println(n)//提示找不到n
}
多值判断
```go
func main()  {
	switch n:=3;n {
	case 1,3,5,7:
		fmt.Println("一")
	case 2,4,6,8:
		fmt.Println("二")
	default:
		fmt.Println("无效的数字")
	}
	fmt.Println(n)//提示找不到n
}

fallthrough 语法可以执行满足条件的下一个case,兼容c中的case设计的

func main()  {
	switch n:=3;n {
	case 1,3,5,7:
		fmt.Println("一")
		fallthrough
	case 2,4,6,8:
		fmt.Println("二")
	default:
		fmt.Println("无效的数字")
	}
}

结果
E:\goWork\src\go.study.cn\hello>go run hello.go
一
二

goto

Go 语言的 goto 语句可以无条件地转移到过程中指定的行。

goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

func main()  {
	for i:=0;i<10 ;i++  {
		for j:='A'; j<'Z';j++  {
			if j=='C'{
				goto GOTOHEARE
			}
			fmt.Printf("%v-%c\n",i,j)
		}
	}
fmt.Printf("过程")
GOTOHEARE:
		fmt.Printf("over")
}

结果
E:\goWork\src\go.study.cn\hello>go run hello.go
0-A
0-B
over


作业

九九乘法表

package main

import "fmt"

func main(){
	for i:=1;i<=9 ;i++  {
		for j:=1; j<=i;j++  {
			 jieguo:=i*j
			fmt.Printf("%dX%d=%d\t",i,j,jieguo)
		}
		fmt.Println("\n")
	}
}
E:\goWork\src\go.study.cn\hello>go run hello.go
1X1=1

2X1=2   2X2=4

3X1=3   3X2=6   3X3=9

4X1=4   4X2=8   4X3=12  4X4=16

5X1=5   5X2=10  5X3=15  5X4=20  5X5=25

6X1=6   6X2=12  6X3=18  6X4=24  6X5=30  6X6=36

7X1=7   7X2=14  7X3=21  7X4=28  7X5=35  7X6=42  7X7=49

8X1=8   8X2=16  8X3=24  8X4=32  8X5=40  8X6=48  8X7=56  8X8=64

9X1=9   9X2=18  9X3=27  9X4=36  9X5=45  9X6=54  9X7=63  9X8=72  9X9=81
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值