订阅博客
收藏博客
微博分享
QQ空间分享

go语言课件一

频道:go语言 标签: 时间:2019年07月08日 浏览:83次 评论:1条
作者: 欢爸爸

课件一 

1Golang语言的开发环境搭建

  安装包地址:https://golang.google.cn/dl/

http://golang.org

今日头条面试

http://192.168.6.82:9000/login?admin=zhangsan&password=123456

   vim.bash_profile

  1 export GOPATH=/Users/student15/GoProj    :日常开发的根目录

  2 export GOBIN=$GOPATH/bin    GOPATH下的bin目录

  3 export PATH=$PATH:$GOBIN    :环境变量。需将gobin目录加到环境变量下


2、运行文件的命令

       go run :编译并直接运行当前文件


       go build:编译,产生同名的二进制文件

       使用方法:1、直接在项目文件夹下执行go build 时,会自动在当前项目查找main函数,并且

生成一个可执行文件,以当前项目文件夹的名称命名 

—— go build  **.go :会在**.go文件中查找main函数进行编译,编译之后产生以**命名的可执行文件


       go install:编译产生二进制文件,并将其移动到#GOPATHbin目录下,在任何目录下都可以执行该文件,

如果文件里没有main函数,会提示undefined:”main.main

等效go build+移动目录

       go install以及go install **.go :会在当前项目文件夹下自动搜索main函数进行编译,编译生成可执行文件

放到bin目录下。加文件名的话可执行文件会以文件名命名;不加文件名的话可执行文件会以项目文件夹名命名。


3、速记声明:只能在函数中出现,不能作用于全局变量

      *:交换两个类型相同的变量的值,可以简单地使用 a, b = b, a

4Go支持的数据类型

  1)、变量的类型可以通过%T打印

  2)、基本类型:

              bool

              数值类型:

                 byteuint8的别称

                 runeint32的别称

                 float64float32

                 complex64(实部和虚部都是float32类型)、complex128:复数   速记声明:c:=complex(5,7) 5+7i

                 int32int8int16int64int :对应位(bits)有符号整数

                 uint8uint16uint32uint64uint:对应位(bits)无符号整数

              stringstringgo里是个结构,包括指向底层函数的指针和长度,两部分各8字节,共16字节。

              派生类型:

                 指针类型、数组类型、结构体类型、Channel类型(https://www.jianshu.com/p/5046bf8593c3

                 函数类型、

                 切片类型:切片类型在 go 里是个结构, 包含指向底层数组的指针,长度和容量,这三个部分每部分都是 8 个字

              节,所以共占24个字节


                 接口类型、Map类型、常量类型(const,在编译期间确定,不能被重新赋值)

                 

  3)、类型转化:新的类型+(旧的类型的变量名):即:int(j)

    (4)   iota变量:特殊常量,从0开始计数,遇到已赋值变量跳过并加一,后续未赋值变量与前面的赋值变量相等,直到下一个iota出现iota会一直加一。

5Go中一些包内的方法运用(陆续更新)

    1)、unsafe包:

           Sizeof方法:接受一个变量返回他的类型的字节数(byte);

           重命名类型:type 新类型名 旧类型名。  type MyString string  (虽然是别名但两者不能混合使用)

             unsafe包详解(包括移植性问题)(https://blog.csdn.net/qq_31967569/article/details/81946232  

   不管是值类型还是指针类型的接收者,都可以使用变量名.方法名进行调用,内部会自动根据方法的接收者帮我

们进行语法的。。。区别在于值类型内部修改对外部不可见。

   2)、Strconv库:字符串整型间的转换


文章评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。