这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。 今天,我学习了go语言的基础部分。总的来说,感觉go语言就很像C、C++、Java、Python等这些我们先前学过的语言的结合体,因而上手并不是非常难。 本堂课主要介绍了go语言的使用环境、基本特性、语法(如变量命名、字符串、数组、切片、map、fmt、main、time包、for循环、ifelse和switch等),然后介绍了些许实战的案例。 在本堂课授课的过程中,用到了诸多代码的例子。在下述内容里举一些比较有代表性的例子。 如下述代码所示,在这一部分,我们用go语言向世界问好。在这里,我们先要用package导入main(即程序执行的主入口),然后要导入一个负责输出的库fmt(format的缩写)。 package main //包名 import ( "fmt" ) //导入fmt库
func main() { fmt.Println("hello world") } 如下述代码所示,在这一部分,我们试图使用switch语句,去判断现在的时间是不是超过了中午12点。如果我们超过12点了,就判定为下午,输出“It's after noon”,否则输出“It's before noon”。在这里为了判断时间,我们需要额外导入一个包time。 package main //包名 import ( "fmt" "time" ) //导入fmt库
func main() { t := time.Now() switch { case t.Hour() >= 12: fmt.Println("It's before noon") default: fmt.Println("It's after noon") }
} 在本章的学习里,除了对于切片我的理解还不太够,不是很能够理解切片和数组的区别,其他方面的理解都相对容易。其他方面的学习都需要与其他语言结合起来,但是又不能混淆。如指针与C语言相同,但append用法与python完全不同(python是数组.append,go是append(切片,加入内容))。 本篇笔记没有参考其他外面的博客,纯属自己学习以后的感想和笔记。