Go学习第一天

这篇具有很好参考价值的文章主要介绍了Go学习第一天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

闲聊两句

从事java后端开发8年多,期间也曾零星看过Go语言、Python、Erlang等等,但都未曾认真学习过,恰好公司最近项目需要,之前用Go开发的项目因为同事离职,暂未人来接手,所以老大就找到我和另外一个同事,希望我们俩尽快把Go学起来并把项目维护起,给了两个周的过渡期,说实话,时间真的挺紧的,但是问题不大,闲聊到此,赶紧学起来吧!

Go的优势

  • 可直接编译成机器码
  • 不依赖其他库
  • 直接运行即可部署

静态类型语言:编译的时候检查出来影藏的大多数问题

语言层面的并发:1.天生的基因支持 2.充分的利用多核

强大的标准库: runtime系统调度机制,已经实现高效的垃圾回收机制,丰富的标准库

只有25个关键字,C语言简洁基因,内嵌C语法支持,面相对象特征(封装、集成、多态),跨平台

记录重点

import导包

  • 导入不使用,会报错,需要注释掉,或者在导包前加”_” 例如: _“demo-go-middle/study”

  • 可以给导入的包起一个别名mylib2 “demo-go-middle/study1”

  • 也可以使用”.“ 的方式进行导包,这样在调用接口的时候,就不用加类名,如果两个方法同名且在不同的类中,那么不建议使用”.”的方式

示例代码:

package main

import (
	mylib1 "demo-go-middle/study"
	. "emo-go-middle/study1"
)

func main() {
	mylib1.Lib1Test()
	Lib2Test()
}

Go学习第一天,Go学习笔记,golang,学习,开发语言

init函数

Go学习第一天,Go学习笔记,golang,学习,开发语言

iota 只能配合const()一起使用,iota只有在const进行累加效果

示例代码:

package main

import "fmt"

// 用const来定义枚举类型
const (
	// 可以在const()添加一个关键字 iota,每行的iota都会累加1,第一行的iota的默认值是0
	BEIJING   = 10 * iota // iota = 0
	SHANGHAI              // iota = 1
	CHONGQING             // iota = 2
)

const (
	a, b = iota + 1, iota + 2 // iota = 0, a = iota +1, b = iota +2, a = 1, b = 2
	c, d                      // iota = 1, c = iota +1, d = iota +2, c = 2, d = 3
	e, f                      // iota = 2, e = iota +1, f = iota +2, e = 3, f = 4
	g, h = iota * 2, iota * 3 // iota = 3, g = iota *2, h = iota *3, g = 6, h = 9
	i, k                      // iota = 4, i = iota *2, k = iota *3, i = 8, k = 12
)

func main() {
	// 用const定义常量,可以用来定义枚举类型
	const length int = 10
	fmt.Println("length =", length)
	fmt.Println("======================")
	fmt.Println("BEIJING =", BEIJING)
	fmt.Println("SHANGHAI =", SHANGHAI)
	fmt.Println("CHONGQING =", CHONGQING)
	fmt.Println("======================")
	fmt.Println("a =", a, ",b=", b)
	fmt.Println("c =", c, ",d=", d)
	fmt.Println("e =", e, ",f=", f)
	fmt.Println("g =", g, ",h=", h)
	fmt.Println("i =", i, ",k=", k)
}

一个类中,方法名称需要大写才能让外部调用,对外开放,如果方法名称不首字母大写,那么只能方法内调用 eg: LibTest()

指针

package main

import "fmt"

func changeValue(p int) {
	p = 10
}

func main() {
	var a int = 1
	changeValue(a)
	fmt.Println("a = ", a)
}

Go学习第一天,Go学习笔记,golang,学习,开发语言

package main

import "fmt"

func changeValue(p *int) {
	*p = 10
}

func main() {
	var a int = 1
	changeValue(&a)
	fmt.Println("a = ", a)
}

Go学习第一天,Go学习笔记,golang,学习,开发语言

*代表指针
&代表内存地址文章来源地址https://www.toymoban.com/news/detail-625375.html

到了这里,关于Go学习第一天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Go 语言第一课》课程学习笔记(二)

    在 Go 语言中编写一个可以打印出“hello,world”的示例程序,我们只需要简单两步,一是创建文件夹,二是开始编写和运行。 通常来说,Go 不会限制我们存储代码的位置,建议创建一个可以集合所有项目的根文件夹(比如:~/goprojects),然后将所有的项目都放在里面。 对于

    2024年02月12日
    浏览(44)
  • 《Go 语言第一课》课程学习笔记(十二)

    在 Go 语言中,函数是唯一一种基于特定输入,实现特定任务并可返回任务执行结果的代码块(Go 语言中的方法本质上也是函数)。 在 Go 中,我们定义一个函数的最常用方式就是使用函数声明。 第一部分是 func,Go 函数声明必须以 func 开始。 第二部分是函数名。

    2024年02月11日
    浏览(53)
  • 《Go 语言第一课》课程学习笔记(八)

    Go 语言的类型大体可分为基本数据类型、复合数据类型和接口类型这三种。 其中,我们日常 Go 编码中使用最多的就是基本数据类型,而基本数据类型中使用占比最大的又是数值类型。 Go 语言的整型,主要用来表示现实世界中整型数量等。它可以分为平台无关整型和平台相关

    2024年02月12日
    浏览(56)
  • 《Go 语言第一课》课程学习笔记(十三)

    Go 语言从设计伊始,就不支持经典的面向对象语法元素,比如类、对象、继承,等等,但 Go 语言仍保留了名为“方法(method)”的语法元素。当然,Go 语言中的方法和面向对象中的方法并不是一样的。Go 引入方法这一元素,并不是要支持面向对象编程范式,而是 Go 践行组合

    2024年02月10日
    浏览(41)
  • 学习C语言的第一天

    使用工具:visual studio 2010 搭建过程:新建项目、配置设置(主要是解决运行后一闪而过的问题)   如何输出各种数据类型?  学习字节以及一些常用基本单位:  搞懂十进制和二进制如何计算?  从以上内容,我们可以得出:如果我使用的是int类型,那么将有32个bit,也就是

    2023年04月18日
    浏览(60)
  • MySQL学习笔记第一天

    步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务。按键盘上的“Ctrl + Alt + Delete”组合键,打开“任务管理器”对话框,可以在“服务”列表找到“MySQL8.0”的服务,如果现在“正在运行”状态,可以右键单击服务,选择“停止”选项停止MySQL8.0的服务。 步骤2:软件的卸

    2023年04月22日
    浏览(90)
  • Mybatis学习笔记第一天

    环境: JDK1.8 Mysql5.7 maven3.6.1 IDEA 1.1什么是Mybatis MyBatis 是一款优秀的 持久层框架 它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain

    2024年02月07日
    浏览(52)
  • 千锋云计算Linux学习第一天收获笔记

    一、开学第一课:必然少不了仪式感 ,开学第一讲便从各位老师的笑谈风声中开始,欢迎各位可能来自天南海北的同学,毕竟同学还未自我介绍,目前还在保守阶段,后续会一一介绍的,三位老师分别介绍了各自的岗位职责,期间老师们强调,既然上课,那必然和上学一样,

    2024年01月18日
    浏览(54)
  • UE5学习笔记(一)——界面功能梳理&第一天知识点记录

    学习UE5的第一步,是软件安装。 默认是安装好的,由于安装没有太多技术含量,所以就没有专门做记录。 这里有个注意点,虚幻引擎是整合在Epic games launcher中的,也就是说开发引擎内嵌在游戏平台上,打个比方,就是如果你要下unity你必须先下一个steam的感觉。 当然,在完

    2024年02月04日
    浏览(51)
  • 从0开始学go 第一天

    今天是开始学go的第x天,前些日子看了看语言,今天找一个web开发来跟着学,记录一下遇到的问题,方便以后复习查阅。 视频看的是https://www.bilibili.com/video/BV1gJ411p7xC?p=3vd_source=ab5bdbd04f4142027c66d604d5285204  视频中用的是goland,我用的vs 如何在vs中建一个项目: https://blog.csdn.net

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包