狂神说Go语言学习笔记一
狂神说Go语言学习笔记(二)
狂神说Go语言学习笔记(三)
狂神说Go语言学习笔记(四)
一、Go语言的发展史
二、Go语言能做什么
三、Go语言环境安装
下载地址
国外网站太慢,我们使用中文网进行下载!
Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com)
安装
无脑下一步就完了 ,注意下这里创建自己设置一个Go语言的环境目录!
查看版本
打开cmd 输入go version检测是否安装成功
配置环境变量
GOROOT
GOPATH
这里需要在Goworks目录下存放三个包
文件源码都会在这三个文件下生成
确定一下path里是否有环境地址,如果没有的话在cmd输入go 以及go version就会找不到指令
输入go env检测环境是否设置成功
OK,到此Go安装完成!
四、GOLand安装
接下来该干什么呢,当然是下载编码工具啊,不然用记事本敲吗?!
下载地址
Thank you for downloading GoLand! (jetbrains.com)
下载后双击打开,设置安装环境地址
勾选
安装
成功!
四、HelloWorld
使用记事本编写hello.go
package main
import "fmt" // 导入一个系统包fmt用来输出的
func main(){
fmt.Println("Hello World") // 打印输出helloworld字符串!
}
使用cmd窗口运行,前面两次失败是Println的P没有大写
现在我们在GoLand中运行,看视频上会报一个错误 ,说是没有加载到系统的包,我自己是没有遇到,可能是版本问题
Package awesomeProject is not in GOROOT
我们打开cmd窗口,设置GO的环境变量
打印成功!
解释:在Go语言里,命名为main的包具有特殊的含义。Go语言的编译程序会试图把这种名字的包编译为二进制可执行文件。所有用Go语言编译的可执行程序都必须有一个名叫main的包,一个可执行程序 有且仅有一个 main包
当编译器发现某个包的名字为main时,它一定也会发现名为main()的函数,否则不会创建可执行文件。main()函数是程序的入口,所以,如果没有这个函数,程序就没有办法开始执行。程序编译时,会使用声明main包的代码所在的目录的目录名作为二进制可执行文件的文件名。
五、注释
给别人看的,机器并不会执行这行语句
单行注释
// 我是单行注释
多行注释
/*
我是多行注释
我是多行注释
我是多行注释
我是多行注释
*/
// 这是一个main函数,这个是go语言启动的入口
func main() {
//fmt.Println :打印一句话,然后执行完毕后,进行换行
fmt.Println("Hello,World")
}
六、什么是变量
变量就是会变化的量,比如我定义了一个变量叫做名字,它在Go语言中是这样表示的:这个值既可以是张三,也可以是李四,也可以是狂神,也可以是你的名字,那么在这里,这个name就是变量,可以变化的量。
var name String = "只因"
我们定义的 name 变量 会指向内存中的某个地址,这个这个地址上的值就是变量的值,也就是
七、变量的定义
Go语言是静态类型语言,就是所有的类型我们都需要明确的去定义
我们声明一个变量一般是使用var关键字
var name type
- 第一个var是声明变量的关键字,是固定的写法,大家记住即可
- 第二个name,就是我们变量的名字,你可以按照自己的需求给它定一个名字
- 第三个type,就是用来代表变量的类型
//定义一个字符串变量 name
var name String
//定义一个数字类型变量 int
var age int
其实学过java、C或者其他编程语言的小伙伴,第一次看到这样的操作肯定不舒服,Go语言和许多编程语言不同,它在声明变量时将变量的类型放在变量的名称之后,这样的好处就是可以避免像C语言中那样含糊不清的表现形式
变量的明明规则遵守驼峰命名法(如:useFiles)
批量定义变量
var(
addr String
phone String
)
如果没有显式的给变量赋值,系统自动赋予它该类型的默认值
- 整形和浮点型变量的默认值为0和0.0
- 字符串变量的默认值为空字符串
- 布尔型变量默认为false
- 切片、函数、指针变量的默认为nil
八、变量的初始化
var (
name string = "只因"
age int = 22
addr string = "IKun"
)
fmt.Println(name, age, addr)
短变量声明并初始化
name2 := "只因"
age2 := 22
addr2 := "中国"
fmt.Printf("name:%s,age:%d,addr:%s", name2, age2, addr2)
fmt.Printf("%T,%T,%T", name2, age2, addr2)
这是Go语言的推导声明写法,编译器会自动根据右值的类型推断出左值的类型
因为简洁和灵活的特点,简短变量声明被广泛用于大部分的局部变量的声明和初始化
注意:
由于使用了 := ,而不是赋值的 = ,因此推导声明写法的左值必须是没有被定义过的,若定义过,将会发生编译错误
九、打印内存地址
var age int
age = 100
fmt.Printf("age:%d,内存地址:%p", age, &age)
age = 200
fmt.Printf("age:%d,内存地址:%p", age, &age)
我们修改 age的值 但是内存地址不会发生改变,是因为我们只是修改了内存地址的值!
十、变量交换
在这之前我们学习别的语言交换两个变量的值,会比较麻烦
比如有 a=100 b=200
首先需要一个中间变量temp
然后走入下三步
1、 temp = a
2、 a = b
3、 b = temp
但是在Go语言中只需要一行
var a int = 100
var b int = 200
b,a = a,b
fmt.Println(a, b)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfaacf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01