Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  C语言  >  正文 GO语言变量及数据类型(variable, data type) 学习总结教程

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

发布时间:2018-09-25   编辑:www.jquerycn.cn
jquery中文网为您提供GO语言变量及数据类型(variable, data type) 学习总结教程等资源,欢迎您收藏本站,我们将为您提供最新的GO语言变量及数据类型(variable, data type) 学习总结教程资源
Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。以下是我学习GO语言变量及数据类型的总结。

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)
}

您可能感兴趣的文章:
GO语言变量及数据类型(variable, data type) 学习总结教程
golang中接口的内部实现
Go 语言到底适合干什么?
想系统学习GO语言(Golang
Go 语言结构体
Go语言发展历史、核心、特性及学习路线
golang 面试题(十三)interface内部结构和nil详解
go 获取函数地址_Go语言基础--接口浅析
基于类型系统的面向对象编程语言Go
Go语言爱好者周刊:第 78 期 — 这道关于 goroutine 的题

[关闭]