• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

狂神说Go语言学习笔记一

武飞扬头像
--只因--
帮助1

狂神说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
系列文章
更多 icon
同类精品
更多 icon
继续加载