1.x系列主要记录的是所有Go语言的基础语法知识(部分内容较为简单,但笔者想完整的记录整个go语言入门学习过程,一是为了加深印象、二是为了提升文笔),知识点来自于B站大佬solenovex的快速入门视频。讲的言简意赅,直击人心!强烈推荐
1.0、算术运算符、变量、常量
算术运算符
这部分直接水过。。Go和大部分语言一样,提供了+ - * / %(取余)
等常见常用的运算符。
-
控制台输出运算结果:
此处需要一提的是Go的打印控制台使用的是fmt
包下的Print
和Println
二者的区别在于后者是换行打印。为啥要突然提打印?因为我要用。。。
下面就是使用Go算术运算符计算后打印到控制台的示例(虽然很简单,但是还是要写出来水字数)package main import ( "fmt" ) func main() { fmt.Print(1 + 1) // 加 fmt.Print(1 - 1) // 减 fmt.Print(1 * 1) // 乘 fmt.Println(1 / 1) // 除 -换行输出 fmt.Println(1 % 1) // 取模-换行输出 fmt.Println("我后面可以接多个参数", 1+1*2/1%3, "不同类型也可以组合成字符串格式") }
在控制台输入go run “文件名如:main.go”
上图可以看到2011实际上是前面的四个打印语句所输出的内容,因为没有print
是不换行的所以粘一块去了。
最后的打印语句是不是看到了python的身影?不同的类型可以任意放到print
中作为参数组合输出,输出的参数与参数之间默认是以空格分割开的,实在不要太方便。 -
再讲打印:
当我们在编辑器中输入fmt.Pr
的时候可以看到列出了三个方法,上图1,3在上面都有运用到,所以应该并不陌生,但是Printf
是做啥子的呢?
Printf
提供个格式化打印的功能,简单的一个代码片段既能理解:
fmt.Printf("I am %v, I love %v ", "Jochen", "Go")
printf要求第一个参数必须为字符串,其中的%v
表示的是占位符,后面的参数按顺序匹配这些占位符,上面的输出结果就是
补充:
占位符可以指定宽度,如%2v
表示的向左填充两个空格,如果是负数如-2%v
表示向右填充两个空格。所谓填充,是包括占位符所对应的字符串长度的,如fmt.Printf(%3v, "go")
表示的是如果字符串不够3个字符长度,则填充到三个字符,这里因为是3为正数所以是向左填充所以输出的是:
go
(空格go)
常量与变量
-
Go中使用const作为常量的标识符,常量是不可以改变的
-
Go中使用var作为变量的标识符(接触过js的小伙伴应该非常的熟悉),注意,使用变量首先需要声明。
不用多解释了吧,图中示例可以看到,身高是常量,钱包是变量。人生如戏~
赋值运算符
赋值、赋值,就是把一个值给一个常量或者变量,上面的等于号=
就是赋值符号
这里需要拓展一些简写方式:
var height = 1.5
height += 2 // 相当于height = height + 2
height *= 2 // 相当于height = height * 2
// ...其他符号组合也是这个意思
这里说到运算符需要提一下在其他语言中常见的自增运算符 ++count
在Go里面是没有这操作的,只有count++
拓展:随机数生成
要随机生成某个范围内的数,我们可以使用rand包。improt路径为import math/rand
package main
import (
"math/rand"
)
func main() {
var num = rand.Intn(10) // 生成[0,10)范围的随机数
}
然后本章的内容就差不多到这里了。这里最后要提的是多个变量与常量的声明方式,这里直接看示例就行了
package main
func main() {
// 第一种 low声明
var a = 100
var b = 200
// 第二种 小low声明
var (
a = 100
b = 200
)
// 第三种 舒服的一批
var a, b = 100, 200
const x, y = 1, 2
}
小伙伴们可以随便选择自己喜欢的代码风格进行常量与变量的声明~