环境变量
- 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