Golang环境最快搭建以及基础语法

53 阅读2分钟

环境搭建

环境搭建在Ubuntu20.04,IDE为VSCODE。

  1. 在golang官网下载对应版本,golang.org/或者golang.google.cn/,名字大概是go1.19.9.linux-amd64.tar

  2. 直接用xftp拖到服务器中,注意此处解压目标地址。tar -C /usr/local -xzf gox.x.x.linux-amd64.tar.gz,解压到/usr/local目录下。

  3. 设置环境变量。

    1.  `vim /etc/profile` 在最后添加`PATH=$PATH:/usr/local/go/bin`
    2.  `vim /etc/environment`在最后添加 `:/usr/local/go/bin`
    3.  `source /etc/profile`重启环境
    
  4. 赋予权限sudo chmod +x /usr/local/go/bin

  5. 修改代理,方便后续vscode安装插件

      go env -w GO111MODULE=on
      go env -w GOPROXY=https://proxy.golang.com.cn,direct
      
    
  6. 安装完成,输入go version 查看,运行helloworld

     package main
     
     import "fmt"
     
     func main(){
         fmt.Println("Hello World !")
     }
    

基础语法

  1. 字符串自带+,表示拼接

  2. :=用于声明+赋值,而=仅用于赋值。

  3. const和var分别表示常量和变量

  4. 与cpp不同的是, if没有(),必须加{};没有while,dowhile,只有for

for{}来表示while,其他与for相同

  1. 实际中很少用数组,而是用切片。可变长度的数组,s:=make([]string, 3)

操作有:s = append(s, “d”), s[2:5]取出第2到5个元素,不包括第5个元素

  1. Map使用: m := make(map[string] int)

m[“one”] = 1,通过delete(m, “one”)来删除kv对

Map是一个完全无序的数据结构,与cpp相同

  1. nums:=[]int{2,3,4}表示数组

     for i, num := range nums{
    
         返回两个值,index和number;index:0, number:2
    
     }
    
  2. golang中的指针主要用于修改传入的参数

  3. 结构体用type typename struct{ }来表示,普通函数为func functionname(params){},成员函数为func (structname) functionname(params){}

  4. 错误处理,在函数返回类型处为

    func findUser(params) (u *user, err error) {
    
    /* function body*/
    
    if not error:  
        return user, nil
    
    else:  
        return nil, errors.New(“Not found”) 
    }
    
  5. json操作:保证结构体中每个字母为大写,json.Marshal可以转换为json格式,先转换为string(json)再fmt.printf

  6. 时间处理:time.Now(), time.Date(自定义时间),t2.sub(t1)对t1,t2两个时间作减法得到时间段

  7. 字符串和数字之间的转换,在import ''strconv'';strconv.ParseInt/Float等进行转换

  8. 获取进程信息:os.Args、Getenv、Setenv分别获取或者写入环境变量