go语言入门

  • 变量

    用关键字var声明变量
    var v1 int //int类型
    var v2 string //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 string
      v2 int
    )

  • 变量初始化

    var v1 int =10
    var v2 = 10 //编译器自动推导
    v3 := 10 //编译器自动推导
    := 出现在该符号左侧的变量(如v3)不应该是已经声明过的,否则会导致编译错误

  • 匿名变量

    我们在使用传统的强类型语言编程时,经常会出现这种情况,即在调用函数时为了获取一个
    值,却因为该函数返回多个值而不得不定义一堆没用的变量。在Go中这种情况可以通过结合使
    用多重返回和匿名变量来避免这种丑陋的写法,让代码看起来更加优雅。
    假 设 GetName() 函 数 的 定 义 如 下 , 它 返 回 3 个 值 , 分 别 为 firstName 、 lastName 和
    nickName :
    func GetName() (firstName, lastName, nickName string) {
    return “May”, “Chan”, “Chibi Maruko”
    }
    若只想获得 nickName ,则函数调用语句可以用如下方式编写:
    _, _, nickName := GetName()
    这种用法可以让代码非常清晰,基本上屏蔽掉了可能混淆代码阅读者视线的内容,从而大幅
    降低沟通的复杂度和代码维护的难度。

  • 常量

    通过关键字const给字面常量指定一个友好的名字
    const Pi float64 = 3.14159265358979323846
    const zero = 0.0    // 无类型浮点常量
    const (
    size int64 = 1024
    eof = -1    // 无类型整型常量
    )
    const u, v float32 = 0, 3     // u = 0.0, v = 3.0,常量的多重赋值
    const a, b, c = 3, 4, “foo”   // a = 3, b = 4, c = “foo”, 无类型整型和字符串常量

常量定义的右值也可以是一个在编译期运算的常量表达式,比如
const mask = 1 << 3

  • 预定义常量

    iota:可被编译器修改的常量,在每一个const关键字出现时被重置为0,在下一个const出现之前,没出现一次iota,其所代表的数字会自动增1
    const (
    c0 = iota //c0 = 0
    c1 = iota //c1 = 1
    c2 = iota //c2=2
    )

  • 枚举

    const (
    Sunday = iota
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    numberOfDays
    )
    同Go语言的其他符号(symbol)一样,以大写字母开头的常量在包外可见。
    以上例子中 numberOfDays 为包内私有,其他符号则可被其他包访问

  • 类型

关键字类型
bool布尔类型
int8,byte,int16,int,uint,uintptr等整形
float32,float64浮点类型
complex64,complex128复数类型
string字符串
rune字符类型
error错误类型
pointer指针
array数组
slice切片
map字典
chan通道
struct结构体
interface接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值