Go-环境搭建-hello world-变量常量定义-函数使用基础

科普

go 是

  • 编译型语言
  • 静态强类型语言()
  • 跨平台的编译型语言(C 在 windows 编译,只能在 windows 下运行)

GO:2009年11月出的(Google 出的)

python:1989年出的

java:1990年出的

c#:微软

java:sun公司(后来被甲骨文收购了)

django 对档次请求放到一个数据库事务中(怎么像 java 一样,把整个请求都用事务控制起来) -- 面试

  • 可以写装饰器把整个请求函数包起来
  • 也可以在数据库连接的时候配置

image-20191209092630875

java 的一些科普

image-20191209093306588

go 为什么这么火?

image-20191209100848073

环境搭建(很重要)

去官网下载安装包,图形化一步步安装

go version 查看 go 版本

go env 查看 go 的配置

  • GOPATH=C:\Users\Administrator\go go 代码的存放路径(可以改,环境变量里)(代码必须放在这个路径下)

    下载的第三方包是放在 gopath 路径下

  • GOROOT=E:\Go go 的路径,如果没有配置,内置包可能就用不了

    导包的时候,查找路径:先去 goroot 中找,然后去 gopath 中找,再找不到,否则报错(所以自己写的包必须放在 gopath 里面,不然找不到)

ide 编辑器

  • GoLand (jetbrians)
  • sublime
  • vscode
  • liteIDE

补充:

主流的 IDE (集成开发环境)

jetbrains 全家桶(差不多把市面上所有编程语言的开发工具都写了一遍)

可以用 pycharm 的激活码(一家的激活码是通用的)

第一个程序 Hello world!

first.go

package main  // 表示当前 go 文件属于哪个包(main)
// 且必须放在第一行

// 编译型语言需要有一个入口文件 main 包下的 main 函数
import "fmt"


func main() {
    fmt.Println("Hello world!")  // 打印 Hello world!
}

编译与执行

  • 编译、执行(命令行)

    go build first.go

    first.exe (windows 平台生成的运行文件)

    image-20191209110114474

  • 编译并执行(不生成对应平台的运行文件)

    go run first.go

image-20191209110135462

变量类型

关键字 var

// 三种定义方式(变量不能重复定义)
var a int =10
var b = 10  // 变量会自动推导类型
c := 10  // 变量会自动推导类型

// int 类型默认值为 0
// string 类型默认值为 ""
// 布尔类型默认值为 false

变量不管用不用,必须先指定类型(或者有值了让它自己推导)

数字类型

image-20191209113929875

字符串类型

双引号、反引号(表示多行)

......

s := "123"  // 只能用双引号引起来,单引号不行
s2 := `这是一个
可以换行
的字符串`

布尔类型

常量

关键字 const

const a = 10

函数

关键字 func

func add(a,b int) int{
    return a+b
}

...


func test(s ...string) long_str string {
    long_str = s...  // 定义过的命令返回值,可以直接用
    return 
}

命名返回值,(函数返回值定义那里)定义了就直接可以用了(就不需要在函数体里定义了),也不需要再指定把它传出去

在 go 中没有位置参数和关键字参数这么一出,都是位置参数,也没有默认参数

课后作业

  1. 搭建go语言环境,并打印helloworld
  2. 定义一个函数,输入一个三位数数字,返回两个返回值:每一位的平方、每一位的立方和 (例如345 返回3的平方+4的平方+5的平方 ,3的立方+4的立方+5的立方)
  3. 给上面的函数加入时间统计(time模块)
    进阶
    1. 写一个函数,返回函数类型
    2. 写一个函数,实现统计函数执行时间功能

猜你喜欢

转载自www.cnblogs.com/suwanbin/p/12017131.html
今日推荐