一、常量
常量的声明与变量类似,只不过是使用 const 关键字。常量可以是字符、字符串、布尔值或数值。常量不能用 := 语法声明。
如下:
package main
import "fmt"
const King = "I am King"
func main() {
const INT_CONST = 11
fmt.Println("数值", INT_CONST)
fmt.Println("字符串", King)
const Truth = true
fmt.Println("布尔", Truth)
}
二、for循环
for循环万变不离其中,java、Python、go中java的for倒是用的比较爽的,但是java的for坑也是有的,go的for也是蛮喜欢,这个完全是个人观点。
如下:
package main
import "fmt"
func main() {
println("forTest1() start")
forTest1()
println("forTest2() start")
forTest2()
println("forTest3() start")
forTest3()
println("for 替换while")
forForWhile()
println("for死循环")
forTest4()
}
func forTest1() {
sum :=0
n := 100
//常规方式
for i := 0 ; i < n ; i ++ {
sum += i
}
fmt.Println("结果:",sum)
}
func forTest2() {
sum := 2
//for的一种延续,每次默认累加1相当于 i++
for ; sum < 3; {
sum += sum
}
fmt.Println("初始值2,累加结果",sum)
}
func forTest3() {
sum := 3
for ; sum < 3; {
sum += sum
}
fmt.Println("初始值3,累加结果",sum)
}
//相当于while循环
func forForWhile() {
sum := 1
for sum < 1000 {
sum += sum
}
fmt.Println(sum)
}
//for死循环
func forTest4() {
i := 0
for{
i ++
if i == 100{
fmt.Println("结束标记",i)
break
}
}
println("for 死循环结束")
}
三、if和switch
go的if比较简洁,类似Python,switch和多个else if效果一样
如下:
package main
import (
"fmt"
)
func main() {
println("if测试")
ifTest()
println("if else 测试")
ifElseIfTest()
println("多个else if 测试")
ifElseIfElseIf()
println("switch 测试")
switchTest()
}
//if
func ifTest() {
i :=1
if i == 1{
fmt.Println("我是if")
}
}
//if else demo
func ifElseIfTest() {
i :=1
if i==1 {
fmt.Println("执行if")
}else {
fmt.Println("执行else")
}
if i==2 {
fmt.Println("执行if")
}else {
fmt.Println("执行else")
}
}
//多个else if
func ifElseIfElseIf() {
i := 1
if i==1 {
fmt.Println("执行if")
}else if i == 2 {
fmt.Println("执行第一个else if")
} else if i == 3{
fmt.Println("执行第二个else if")
}else {
fmt.Println("执行最后一个else")
}
}
//switch测试
func switchTest() {
flag :=1
switch flag {
case 0:
fmt.Println("执行case为0")
case 1:
fmt.Println("执行case为1")
default:
fmt.Println("执行default")
}
}
总结:常量和变量要区别好、go中while可以用for替换、if和其他语言类似、switch和else if类似