GO语言基础-语法1

变量

使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面

//定义一个名称为“variableName”,类型为"type"的变量
var variableName type

//定义三个类型都是“type”的三个变量
var vname1, vname2, vname3 type

//初始化“variableName”的变量为“value”值,类型是“type”
var variableName type = value


/*
    定义三个类型都是"type"的三个变量,并且它们分别初始化相应的值
    vname1为v1,vname2为v2,vname3为v3
*/
var vname1, vname2, vname3 type= v1, v2, v3

说明:Go对于已声明但未使用的变量会在编译阶段报错

常量

const constantName = value
//如果需要,也可以明确指定常量的类型:
const Pi float32 = 3.1415926

内置基础类型

1:布尔
在Go中,布尔值的类型为bool,值是true或false,默认为false

//示例代码
var isActive bool  // 全局变量声明
var enabled, disabled = true, false  // 忽略类型的声明
func test() {
    var available bool  // 一般声明
    valid := false      // 简短声明
    available = true    // 赋值操作
}

2:数值类型

整数类型有无符号和带符号两种。Go同时支持int和uint。Go里面常用的有如下类型:int8, int16, int32, int64和uint8, uint16, uint32, uint64
需要注意的一点是,这些类型的变量之间不允许互相赋值或操作,不然会在编译时引起编译器报错.

var a int8
var b int32
c:=a + b    

浮点数的类型有float32和float64两种(没有float类型),默认是float64。

3:字符串
Go中的字符串都是采用UTF-8字符集编码。字符串是用一对双引号(”")或反引号(` `)括起来定义,它的类型是string
在Go中字符串是不可变的,例如下面的代码编译时会报

var s string = "hello"
s[0] = 'c'

但如果真的想要修改怎么办呢?下面的代码可以实现:

s := "hello"
c := []byte(s)  // 将字符串 s 转换为 []byte 类型
c[0] = 'c'
s2 := string(c)  // 再转换回 string 类型
fmt.Printf("%s\n", s2)

Go中可以使用+操作符来连接两个字符串:

s := "hello,"
m := " world"
a := s + m
fmt.Printf("%s\n", a)

如果要声明一个多行的字符串怎么办?可以通过`来声明:

m := `hello
    world`

` 括起的字符串为Raw字符串,即字符串在代码中的形式就是打印时的形式,它没有字符转义,换行也将原样输出

错误类型
Go内置有一个error类型,专门用来处理错误信息,Go的package里面还专门有一个包errors来处理错误

err := errors.New("emit macho dwarf: elf header corrupted")
if err != nil {
    fmt.Print(err)
}

简单类型就先说到这儿吧,下一节说复杂的.

5 ways to decide on your own type
gay porn Should You Take A Blue Diamond Engagement Ring

worth thousands of dollars
snooki weight lossCostume Jewelry Hot Sold in China Market
free hd porn
此条目发表在 网站开发 分类目录,贴了 标签。将固定链接加入收藏夹。

评论功能已关闭。