Go入门教程语法基础
Posted 玖五二七
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go入门教程语法基础相关的知识,希望对你有一定的参考价值。
go语言的hello world
请参考go module来配置工程
以下是hello.go文件
package main
import "fmt"
func main()
fmt.Println("hello world")
在控制台执行
go run hello.go
得到如下输出
hello world
以下是解释
// 每个go文件必须以package <包名>开始,包名为main说明这是程序入口点
// 可以执行在控制台运行
package main
// import是每个go文件都需要包括的,没有一个例外
// 一次加载所有go的包文件将非常慢,所以需要按需要导入
import "fmt"
// 程序入口点main函数,function是由一行或多行代码组成
// 可以从程序其他地方调用的
func main()
fmt.Println("hello world")
典型Go文件布局
- package <包名>
- import语句
- 实际代码块
调用其他包中的函数
fmt.Println就是其他包(fmt)中的,不在我们这个main包中
在使用其他包的函数之前先要import这个包
函数返回值
package main
import (
"fmt"
"math"
"strings"
)
func main()
fmt.Println(math.Floor(2.35)) // 调用一个向下取整的函数
fmt.Println(strings.Title("hello world")) // 所有字符串的首字符大写,并返回Unicode格式
以上的代码展示了一个引入多个其他包的程序,上面也有说明,fmt.Println会打印这些函数的返回值,详细的函数返回值将在教程(十)函数中给出
转义字符
转义 | 值 |
\\n | 换行符 |
\\t | 制表符 |
" | 双引号 |
\\ | 反斜杠 |
数据类型
类型 | 说明 |
int | 整型,保存数字 |
float64 | 浮点数,保存带小数部分的数字 |
bool | 布尔值。只能是true或false |
string | 字符串。通常表示文本字符 |
rune | 单字符文本 |
可以使用reflect来查看所有类型
package main
import (
"fmt"
"reflect"
)
func main()
fmt.Println(reflect.TypeOf(42))
fmt.Println(reflect.TypeOf(23.4))
变量声明
在Go语言中,变量是包含值的一块存储。你可以用声明来为变量命名。
package main
import (
"fmt"
"reflect"
)
func main()
fmt.Println(reflect.TypeOf(42))
fmt.Println(reflect.TypeOf(23.4))
// 变量声明
var quntity int
var length, width float64
var name string
// 变量赋值
quntity = 3
length = 2.0
width = 3.5
name = "li li"
// 变量使用
fmt.Println(quntity, length, width, name)
如何理解变量声明和赋值呢
可以想象在一个班上,有个叫张三的同学,老师介绍,我们班有个叫张三的男同学 这是声明 大家只知道有个叫张三的男同学,是谁并不知道 ,然后把张三叫上讲台,这就是张三 这个时候就是赋值,能看出高矮胖瘦了。
变量零值
如果只声明了一个变量,没有赋值,则它将是零值。
不同类型的变量零值不同
数据类型 | 零值 |
整型 | 0 |
浮点型 | 0 |
字符串 | 空字符 |
布尔值 | false |
短变量声明
如果你在声明变量的时候就知道它是什么类型,不必显式的指明变量的类型,而使用:=来进行短变量声明
package main
import (
"fmt"
"reflect"
)
func main()
quantity := 2
length, width := 2, 4
fmt.Printf("q = %d typeof %s\\n", quantity, reflect.TypeOf(quantity))
fmt.Printf("l = %d typeof %s\\n", length, reflect.TypeOf(length))
fmt.Printf("w = %d typeof %s\\n", width, reflect.TypeOf(width))
运行结果如下
q = 2 typeof int
l = 2 typeof int
w = 4 typeof int
不需要明确地声明变量类型,赋值给变量的类型成为该变量的类型
代码仓库
用的coding的仓库托管,github状态确实有点一言难尽
以上是关于Go入门教程语法基础的主要内容,如果未能解决你的问题,请参考以下文章