初探Golang:从入门到放弃的旅程(1)

发表时间: 2020-04-09 01:33

目标

随着爬虫的对抗逐渐从JS转入app等移动端方向,我开始对继续研究安卓逆向的必要性和爬虫工作的未来展开了思考,得出的结论是是时候开始深入学习一门为处理后端业务的语言,以提高自己的综合能力,最后在就业市场和兴趣的综合考虑下,从java和golang中选择了golang

今日完成代码

package mainimport "fmt"func main(){	fmt.Println("hello world")}package mainimport (    "fmt"    "strings")func main(){    str := "这里是一个换行符和\n空格多次出 现的字符\n串"    fmt.Println("------原始字符串-----")    fmt.Println(str)    // 去除空格    str = strings.Replace(str, " ", "", -1)    // 去除换行符    str = strings.Replace(str, "\n", "", -1)    fmt.Println("-----去除空格和换行符后")    fmt.Println(str)}package mainimport "fmt"func main(){    var a string = "hello"    fmt.Println(a)    var b,c int = 1,2    fmt.Println(b,c)    // 数字为赋值为0    var d int    fmt.Println(d)    // bool未赋值为False    var e bool    fmt.Println(e)}

思考

  1. 很多语法和python很相似
  2. 只能用""包裹字符串?如果用''运行错误:more than one character
  3. 类似于 fmt,strings的系统包都是小写,但是包的具体方法都是大写?例如:fmt.Println,strings.Replace
  4. Go 语言的字符串的字节使用 UTF-8 编码解决了可能很多编码不一致的问题
  5. python 习惯使用 '#' 做注释,go使用的类似于JS, 使用'//',这里报错几次
  6. 定义变量为赋值直接为各个类型的默认空值,这部分使用python的思维很容易理解,python的变量定义比较随意,而golang类似于java等,比较严谨,so性能部分也会有影响。

今日总结

随着时代的发展,编程语言越来越归一化,即程序员处理的东西越来越业务和功能化,大学学汇编要算内存地址,寄存器位置等等,现在的语言逐渐越来越友好,也越来越容易掌握,学习一门新的语言对有一定基础的同学来说可能就是看一下文档这么简单了

明天继续学习

多变量声明的内容