网站首页 文章专栏 go语言基本语法
使用var
定义变量,
变量类型
布尔 bool
整型 int8 byte int16 int uint uintptr
浮点类型 float32 float64
复数类型 complex64 complex128
字符串 string
字符类型 rune
错误类型 error
复合类型
指针 pointer
数组 array
切片 slice
字典 map
通道 chan
结构体 struct
接口 interface
// 一般形式
// var 变量名 变量类型
// 注意不需要分号
var v1 int
var v2 string
var v3 [10]int // 数组
var v4 []int // 数组切片
var v5 struct {
f int
}
var v6 *int // 指针
var v7 map[string]int // map,key为string类型,value为int类型
var v8 func(a int) int
初始化
var v1 int = 10 // 正确的使用方式1
var v2 = 10 // 正确的使用方式2,编译器可以自动推导出v2的类型
v3 := 10 // 正确的使用方式3,编译器可以自动推导出v3的类型
使用const
关键字
const Pi float64 = 3.14159265358979323846
if a < 5 {
return 0
} else {
return 1
}
要点:
否则会编译失败:
switch i {
case 0:
fmt.Printf("0")
case 1:
fmt.Printf("1")
case 2:
fallthrough
case 3:
fmt.Printf("3")
case 4, 5, 6:
fmt.Printf("4, 5, 6")
default:
fmt.Printf("Default")
}
要点:
if…else…的逻辑作用等同。
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
要点:
是,Go语言不支持以逗号为间隔的多个赋值语句,必须使用平行赋值的方式来初始化多
个变量。
break,可以选择中断哪一个循环
package mymath
import "errors"
func Add(a int, b int) (ret int, err error) {
if a < 0 || b < 0 { // 假设这个函数只支持两个非负数字的加法
err= errors.New("Should be non-negative numbers!")
return
}
return a + b, nil // 支持多重返回值
}
要点: