一聚教程网:一个值得你收藏的教程网站

热门教程

GO语言变量及数据类型(variable, data type) 学习总结教程

时间:2022-06-25 04:52:00 编辑:袖梨 来源:一聚教程网

1. variable

1.1 变量使用关键字 var 定义。变量是强类型的。

package main

import "fmt"

var i int
var c, python, java bool

func main() {
    fmt.Println(i, c, python, java)
}

1.2 定义变量时候可以不指定类型,而是通过赋值获得类型

package main

import "fmt"

var i, j int = 1, 2
var c, python, java = true, false, "no!"

func main() {
    fmt.Println(i, j, c, python, java)
}

1.3 函数内临时变量定义,通过 := 定义

package main

import "fmt"

func main() {
    var i, j int = 1, 2
    k := 3
    c, python, java := true, false, "no!"     
    fmt.Println(i, j, k, c, python, java)
}

2. data type

2.1 所有的数据类型

bool

string

int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr

byte // alias for uint8

rune // alias for int32
     // represents a Unicode code point

float32 float64

complex64 complex128

2.2 所有的数据类型必须显示转换,否则会编译错误

var i int = 42
var f float64 = float64(i)
var u uint = uint(f)

2.3 常量

    常量可以是数字,字符串,字符,布尔类型
    常量的申明与变量相同,只是在前面加上const关键字
    常量不能使用 := 赋值

package main

import "fmt"

const Pi = 3.14

func main() {
    const World = "世界"
    fmt.Println("Hello", World)
    fmt.Println("Happy", Pi, "Day")
    const Truth = true
    fmt.Println("Go rules?", Truth)
}

3. struct

struct与C语言几乎一样,使用tpye和struct关键字定义。

package main

import "fmt"

type Vertex struct {
    X int
    Y int
}

func main() {
    fmt.Println(Vertex{1, 2})
}

3.1 使用“点”访问结构体内的变量

package main

import "fmt"

type Vertex struct {
    X int
    Y int
}

func main() {
    v := Vertex{1, 2}
    v.X = 4
    fmt.Println(v.X)
}

    Java中没有struct还真是不完美。定义一个结构体要多写好多代码。

3.2 构造时候指定变量名称赋值

package main

import "fmt"

type Vertex struct {
    X, Y int
}

var (
    p = Vertex{1, 2}  // has type Vertex
    q = &Vertex{1, 2} // has type *Vertex
    r = Vertex{X: 1}  // Y:0 is implicit
    s = Vertex{}      // X:0 and Y:0
)

func main() {
    fmt.Println(p, q, r, s)
}

热门栏目