Golang是Google开发的一种编译型,可并行化,并具有垃圾回收功能的编程语言。性能相比PHP高很多,而且处理并发能力也不错,不过php-cgi模式也不错,各有优缺点吧。
1、变量
go一般声明为
var 变量名 变量类型
也可以直接判断类型规定类型
变量名 := 值
也可以这样赋值
i,j = i,j
2、常量
声明
const(
a=a
b=b
c=c
)
3、go数据类型
bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64
uintptr
byte(等价于 uint8)
rune(等价于 int32,用于表示一个 unicode code point)
float32 float64
complex64 complex128
4、For:循环
//单一的循环
i := 1
for i <= 3 {
fmt.Println(i)
i = i + 1
}
//带初始化/条件的循环
for j := 7; j <= 9; j++ {
fmt.Println(j)
}
//通过条件的for循环会一直执行
for {
fmt.Println("loop")
break
}
}
5、If/Else:条件语句
//基本用法
if 7%2 == 0 {
fmt.Println("7 is even")
} else {
fmt.Println("7 is odd")
}
//if中也可以声明变量
if num := 9; num < 0 {
fmt.Println(num, "is negative")
}
6、Switch:条件枚举
//基础的Switch
i := 1
switch i {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
}
//多种条件匹配
switch time.Now().Weekday(){
case time.Saturday, time.Sunday:
fmt.Println("it's the weekend")
default:
fmt.Println("it's a weekday")
}
//无条件的switch
t := time.Now()
switch {
case t.Hour() < 12:
fmt.Println("it's before noon")
default:
fmt.Println("it's after noon")
}
7、函数
//基本函数定义
func add(x int, y int) int {
return x + y
}
调用
add(1,2)
8、数组和 slice
数组长度无法被改变
数组用法如下:
var a [2]string
a[0] = "Hello"
a[1] = "World"
slice用法:
a := make([]int, 5)
p := []int{2, 3, 5, 7, 11, 13}
9、range被用在 for 中来迭代一个 slice 或者一个 map
for i, v := range s {
fmt.Println(i, v)
}
10、map
map 用于映射 key 到 value(值)
m = make(map[string]Vertex)
m["Bell Labs"] = Vertex{
40.68433, -74.39967,
}
扩展
goweb开发可以使用beego框架