GO
2017-12-05 19:26:38 39 举报
AI智能生成
GO语言基础
作者其他创作
大纲/内容
hello world
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
字符串连接
与字符串
+
与其他类型
,
变量
var 变量名 变量类型=初始值
var a string = "initial"
var b, c int = 1, 2
var d = true
var e int
f := "short"
:=
声明并初始化
常量
const s string = "constant"
循环
i := 1
for i <= 3 { i = i + 1}
for j := 7; j <= 9; j++ {}
for {}
分支
if/else
if true {
} else {
}
if num := 9; num < 0 {
}
switch
switch i {
case 1,2,3:
default:
}
没有break
case可以是表达式,可以是类型(int...)
数组
var 名 [容量]类型{初始值0,初始值1...}
var a [5]int
b := [5]int{1, 2, 3, 4, 5}
len(b) = 5
var 名 [一维容量][二维容量]类型
Slices
名 := make([]类型, 容量)
s := make([]string, 3)
twoD := make([][]int, 3)
t := []string{"g", "h", "i"}
append
s = append(s, "e", "f")
切片操作
l := s[2:5]/l = s[:5]/l = s[2:]
Maps
名 := make(map[键类型]值类型)
m := make(map[string]int)
n := map[string]int{"foo": 1, "bar": 2}
delete(mapname, key)
value, is_exist :=mapname[key]
Range
迭代器
array := []类型{...}
for index, value := range array {
}
函数
func 函数名(形参0 类型, 形参1 类型) 返回类型 {...}
func plus(a int, b int) int{}
func plusPlus(a, b, c int) int{}
func vals() (int, int){}
返回多值
func sum(nums ...int){
nums is array
}
可变参数
sum(1, 2, 3)
nums := []int{1, 2, 3, 4}
sum(nums...)
res := plus(1, 2)
Closures
闭包
func intSeq() func() int{
i:=0
return func() int {
i += 1
return i
}
}
nextInt := intSeq()
指针
类C
结构体
type person struct {
name string
age int
}
person{"Bob", 20}
person{name: "Alice", age: 30}
person{name: "Fred"}
s := person{name: "Sean", age: 50}
s.name
sp := &s
sp.age = 51
0 条评论
下一页