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文件布局

  1. package <包名>
  2. import语句
  3. 实际代码块

调用其他包中的函数

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状态确实有点一言难尽

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值