首页 > 其他 > 详细

GO环境

时间:2021-02-16 23:13:46      阅读:32      评论:0      收藏:0      [点我收藏+]
gopath放源码的地方
GOROOT标准库位置
export GOROOT=$HOME/local/go
export GOPATH=$HOME/go
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH


hell world

[root@db53 go]# cat hi.go 
package main

import "fmt"

func main(){
    fmt.Println("hello golang")
}

交叉编译GOOS

GOOS=加系统名称 然后再go build就行了  
GOOS=windows go build hi.go
GOOS=linux go build hi.go 
GOOS=darwin 这个是编译成mac系统的二进制文件
[root@db53 go]# GOOS=windows go build hi.go 
[root@db53 go]# ls
hi.exe  hi.go
[root@db53 go]# GOOS=linux go build hi.go 
[root@db53 go]# ll
total 4084
-rwxr-xr-x 1 root root 2034781 Feb 16 15:34 hi
-rwxr-xr-x 1 root root 2139648 Feb 16 15:32 hi.exe
-rw-r--r-- 1 root root      72 Feb 16 15:25 hi.go
[root@db53 go]# chmod +x hi
[root@db53 go]# ./hi
hello golang

gofmt格式化代码

gofmt -w hi.go

设置代理
export HTTPS_PROXY=http://10.10.10.1:7081
 export HTTP_PROXY=http://10.10.10.1:7081
取消代理
unset http_proxy
unset https_proxy

测试

curl cip.cc

curl -k https://cip.cc

[root@db53 ~]#  mkdir -pv $GOPATH/src/golang.org/x
mkdir: created directory ‘/root/go/src’
mkdir: created directory ‘/root/go/src/golang.org’
mkdir: created directory ‘/root/go/src/golang.org/x’
cd /root/go/src/golang.org/x
go install golang.org/x/tools/cmd/goimports

gopath

/root/go
    src 源码目录的根

拉项目并初始化

技术分享图片


gotrace  能展现协程阻塞状态

需要go 1.6.3

技术分享图片

红色  表示等待 
绿色 表示处理数据
6  7  是两个协程

命令行参数

 

package main

import (
        "flag"
        "fmt"
        "strings"
)
\\声明一个变量seq      s指定输出结果的分隔符,默认以空格分隔   "separator"是--help显示的内容
var sep = flag.String("s"," ","separator")

func main() {
        flag.Parse()
        fmt.Print(strings.Join(flag.Args(),*sep))
}
\\*sep  取sep的值

[root@db53 go]# go run echo.go --help
Usage of /tmp/go-build774875129/b001/exe/echo:
  -s string
    	separator (default " ")
                   
1%%2%%3[root@db53 go]#  ./echo2 -s - 1 2 3
1-2-3[root@db53 go]# 

为echo加入-n选项
package main

import (
        "flag"
        "fmt"
        "strings"
)

var sep = flag.String("s"," ","separator")
var newline = flag.Bool("n",false,"加-n换行")


func main() {
        flag.Parse()
        fmt.Print(strings.Join(flag.Args(),*sep))
        if *newline{
                fmt.Println()
        }
}
 
关闭goland反人类提示
技术分享图片

写入字符串到文件 WriteString

import (
    "log"
    "os"
)


func main()  {
//APPEND 代表以追加的方式打开 os.O_CREATE 文件不存在就创建 RDWR 可读可写
    f,err :=os.OpenFile("a.txt",os.O_APPEND|os.O_CREATE|os.O_RDWR,0644)
    if err !=nil {
        log.Fatal(err)


    }
    f.WriteString("hello\n")
    _ = f.Close()
}



字符串格式化

package main

import "fmt"

func main() {
	fmt.Print("hello")
	s :="hello"
	n:=4
	fmt.Printf("我的文子是 %s  n=%d\n",s,n)

}

写入到文件中Fprint

f 是打开文件聚丙   
if err 判断打开文件是否失败

func main() {
f,err :=os.Create("fmt.txt")
if err !=nil{
log.Fatal(err)
}

fmt.Fprint(f,"hello")
s :="hello"
n:=4
fmt.Fprintf(f,"我的文子是 %s n=%d\n",s,n)
f.Close()
}



GO环境

原文:https://www.cnblogs.com/kaixin940/p/14407247.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!