1 Hello World
package main
import (
"fmt"
)
func main() {
fmt.Println("hello,word")
}
2 变量
-
go语言是—门强类型语言,每—个变量都有它自己的变量类型
-
常见的变量类型包括字符串、整数、浮点型、布尔型
-
go语言变量的声明:
- 通过var name string =""这种方式来声明变量,声明变量时自动推导变量的类型
- 使用变量冒号 := 等于值。
-
常量:
- 把var改成const
- go语言常量没有确定的类型,会自动确定类型
package main
import(
"fmt"
"math"
)
func main(){
var a = "hello" // 字符串
var b,c int = 1,2 // 整数
var d = true // bool
var e float64 // 浮点数
f := float32(e)
g := a + "world"
fmt.Println(a,b,c,d,e,f) // hello 1 2 true 0 0
fmt.Println(g) // helloworld
const s string = "hello"
const h = 50000000
const i = 3e20/h
fmt.Println(s,h,i,math.Sin(h),math.Sin(i)) // hello 50000000 6e+12 0.8256467432733234 0.7202453319313744
}
3 if...else...
if后面没有(),必须有{}
关键字 if 和 else 之后的左大括号
{必须和关键字在同一行,如果你使用了 else if 结构,则前段代码块的右大括号}必须和 else if 关键字在同一行
package main
import "fmt"
func main(){
var num = 7
if num%2 == 0{
fmt.Println(num,"是偶数")
}else{
fmt.Println(num,"是奇数")
}
if 8%4==0{
fmt.Println("8可以被4整除")
}
if num:=9;num<0{
fmt.Println(num,"是负数")
}else if num<10{
fmt.Println(num,"是个位数")
}else{
fmt.Println(num,"是多位数")
}
// 7 是奇数
// 8可以被4整除
// 9 是个位数
}
4 循环
go里没有while循环、do while循环,只有for循环
和 C 语言的 for 一样:for init; condition; post { }
和 C 的 while 一样:for condition { }
和 C 的 for(;;) 一样:for { }
package main
import "fmt"
func main() {
i :=1
for {
fmt.Println("loop")
break
}
for j:=7;j<9;j++{
fmt.Println(j)
}
for n:=0;n<5;n++ {
if n%2==0{
continue
}
fmt.Println(n)
}
for i<=3 {
fmt.Println(i)
i=i+1
}
}
// loop
// 7
// 8
// 1
// 3
// 1
// 2
// 3
5 switch
go语言不需要break,会自动跳出
可以在switch后面不加任何变量,在case里写条件分支
- switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止
- switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面不需要加 break
- switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case,如果需要执行后面的 case,可以使用 fallthrough
package main
import(
"fmt"
"time"
)
func main(){
a := 2
switch a{
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
case 4,5:
fmt.Println("four or five")
default:
fmt.Println("others")
}
t := time.Now()
switch{
case t.Hour()<12:
fmt.Println("12点之前")
default:
fmt.Println("12点之后")
}
}
// two
// 12点之后