golang快速上手

458 阅读2分钟

作为一个从java转为go的开发工作者,相信也有很多跟我一样的朋友。在摸爬滚打一段时间后,现在从易到难输出go语言的一些基本用法,以及本人开发过程中踩过的坑,与大家一起分享。

此处略过go环境安装。。。

golang和java一样,只有一个程序入口,所以也只有一个main函数,接下来写一个简单的main函数。

package main

import "fmt"

func main() {
    fmt.Println("Hello World")
}

这是一个简单的go语言函数例子,打印“Hello World”,此处引入了fmt包, 该包常用于打印语句。

变量

在go中,定义一个变量有两种方法。

//第一种:使用var name type
var num int //变量声明
num = 10    //变量赋值
//第二种:使用 := 直接定义变量 
num := 10
//此种方法也可以一次定义多个变量
num,age := 10,20
//当定义了多个变量,但实际有的变量不需要,可以用下划线_代替
num,_ := 10,20

常量

常量表示一个固定的值,不能被改变。

const num = 10
const name = "周杰伦"

类型

下面是 Go 支持的基本类型:

  • bool类型

  • 数字类型 int8, int16, int32, int64, int:整形

    uint8, uint16, uint32, uint64, uint :无符号类型(都是正数)

    float32, float64 :浮点数

    complex64:实部和虚部都是 float32 类型的的复数。

    complex128:实部和虚部都是 float64 类型的的复数。

    byte:是 uint8 的别名。 rune:是 int32 的别名rune

  • 字符串类型:string

类型转化

Go 有着非常严格的强类型特征。Go 没有自动类型提升或类型转换。 例如:

func demo() {  
    i := 10      //int
    j := 8.8    //float64
    num := i + j //不允许 int + float64
    fmt.Println(num)
}

此时代码就会报错,因为go中是强类型,int类型不能与float类型相加。 解决办法:

func demo() {  
    i := 10      //int
    j := 8.8    //float64
    num := float64(i) + j //将int转为float64
    fmt.Println(num)
}