注册 / 登录

清河洛

您现在的位置是:首页>后端编程>go学习

go学习

  • Go的常用命令

    Go的命令格式为:go command [args]其中command为go的子命令,args为子命令的选项可以使用go help command来查看指定子命令的帮助信息常用子命令build: 编译包和依赖clean: 移除对象文件env: 打印go的环境信息bug: 启动错误报告fmt: 运行gofmt进行格式化get: 下载并安装包和依赖install: 编译并安装包和依赖list: 列出包mod:用于管理go程序依赖run: 编译并运行go程序test: 运行测试version: 显示go的版本build命令用来编译go程序生成可执行文件的go build [-o out_file] [build flags] [packages]可以指定多个go文件,会将所有文件视为指定单个包的源文件列表,忽略以“_test.go”结尾的文件但需要注意的是要生成可执行文件,需要满足两个条件:1、该程序属于main包;2、必须包含main函数常用选项: -a:强制重

    发布时间:2021-12-06 23:34:11
  • go编译dll文件并调用

    首先,go编译dll的过程需要用到gcc,所以要先安装gcc现在我们开始编写要编译成dll的go程序package main# 包名必须为mainimport "C"# 必须引入C(大写)包,C是虚拟包,可以调用C语言函数//export MyFuncfunc MyFunc(a int , b int) int{ return a+b}# 需要导出来的函数上面必须要写//export [函数名]格式的注释且与函数主体之间不能有其他语句# 编写要导出函数的逻辑# 函数名并不一定首字母大写,但是习惯上首字母会大写func main(){}# 必须要有一个main函数,可以为空但必须要有以上内容为一个最为简单的示例,下面我们使用go build命令编译成dllgo build -ldflags "-s -w" -buildmode=c-shared -o dll_filename go_filename-ldflags选项非必须,但是加上会使编译成的d

    发布时间:2021-12-06 22:32:42
  • go语言中的正则操作

    "regexp"包实现了正则表达式搜索通用函数QuoteMeta(s string) string:返回将s中所有正则表达式元字符都进行转义后字符串 Match(pattern string, b []byte) (matched bool, err error):检查b中是否存在匹配pattern的子序列 MatchString(pattern string, s string) (matched bool, err error):类似Match,但匹配对象是字符串 MatchReader(pattern string, r io.RuneReader) (matched bool, err error):类似Match,但匹配对象是io.RuneReader 生成正则表达式Compile(expr string) (*Regexp, error):解析并返回一个正则表达式 匹配模式设置为leftmost-first,最短匹配,一旦匹配就立刻返回 CompilePOSIX(ex

    发布时间:2021-10-25 14:04:50
  • go语言中的路径操作

    "path"包实现了对斜杠分隔的路径的常用操作IsAbs(path string) bool:返回路径是否是一个绝对路径 Split(path string) (dir, file string) 将路径从最后一个斜杠后面位置分隔为两个部分(dir和file)并返回 如果路径中没有斜杠,dir会设为空字符串 Join(elem ...string) string 将任意数量的路径元素放入一个单一路径里,会根据需要添加斜杠 结果是经过简化的,所有的空字符串元素会被忽略。 Dir(path string) string 返回该路径最后一个元素所在的目录 如果可以,会尽可能去除末尾的斜杠 如果路径是空字符串,会返回"." Base(path string) string 返回路径的最后一个元素(去除末尾的斜杠) 如果路径是"",会返回"." 如果路径是只有一个斜杆构成,会返回"/" Ext(path string)

    发布时间:2021-10-25 09:58:38
  • go语言中的数据库操作

    在go语言中,标准库"database/sql"提供了保证SQL或类SQL数据库的泛用接口,使用前需要注入对应的数据库驱动,go标准库中没有提供任何一个数据库驱动,需要我们通过其他方式安装驱动常用的支持"database/sql"通用接口的数据库驱动包地址: sqlite3:github.com/mattn/go-sqlite3(注册的数据库驱动名称"sqlite3") mysql:github.com/go-sql-driver/mysql(注册的数据库驱动名称"mysql") postgresDB:github.com/lib/pq(注册的数据库驱动名称"postgres") import ( "database/sql" _ "github.com/mattn/go-sqlite3" ) 标准库"database/sql"的使用type Result interface { LastInsert

    发布时间:2021-10-23 20:47:11
  • Go语言中的"io/ioutil"包

    该包为一些常用的I/O操作的功能函数变量 var Discard io.Writer = devNull(0) 是一个io.Writer接口,对它的所有Write调用都会无实际操作的成功返回 函数 NopCloser(r io.Reader) io.ReadCloser 用一个无操作的Close方法包装r返回一个ReadCloser接口 ReadAll(r io.Reader) ([]byte, error) 从r读取数据直到EOF或遇到error 因为本函数定义为读取r直到EOF,不会将读取返回的EOF视为应报告的错误,所以成功的调用返回的err为nil而非EOF ReadFile(filename string) ([]byte, error) 从filename指定的文件中读取数据并返回文件的内容 该函数为常用的读取文件的方法 WriteFile(filename string, data []byte, perm os.FileMode

    发布时间:2021-09-11 21:26:08
  • Go语言中的strings包

    strings包实现了用于操作字符的简单函数判断相同EqualFold(s, t string) bool :判断两个字符串是否相同(不区分大小写) 字符串连接Join(a []string, sep string) string :将一系列字符串连接为一个字符串,之间用sep来分隔 Repeat(s string, count int) string :返回s重复count次的字符串 字符串查找函数:HasPrefix(s, prefix string) bool :判断字符串s是否以prefix开始 HasSuffix(s, suffix string) bool :判断字符串s是否以suffix结尾 Contains(s, substr string) bool :判断字符串s是否包含子串substr ContainsRune(s string, r rune) bool :判断字符串s是否包含utf-8码值r ContainsAny(s, chars string) bool :

    发布时间:2021-09-11 12:04:36
  • Go语言的time包

    Location结构类型type Location struct { // 内含隐藏或非导出字段 } 代表一个地点以及该地点所在的时区 两个与预定义变量 var Local *Location = &localLoc //代表系统本地,对应本地时区 var UTC *Location = &utcLoc //代表通用协调,对应零时区 LoadLocation(name string) (*Location, error): 返回使用给定的名字创建的Location name应该是IANA时区数据库里有记录的地点名,如"America/New_York" name是空("")或"UTC",返回UTC name是"Local",返回Local Time结构类型type Time struct { // 内含隐藏或非导出字段 } 代表一个纳秒精度的时间点 Time零值代表时间点"January 1, year 1, 0

    发布时间:2021-09-10 23:39:57
  • Go语言中的os包

    os包提供了操作系统函数的接口os包的接口对各种操作系统的差异做了统一的包装,在所有操作系统中都是一致的,本身设计为Unix风格如常量DevNull,在类似Unix的操作系统中为"/dev/null",在Windows中为"NUL",我们使用时不需要关系具体的操作系统,只需要使用常量DevNull即可所以os包不依赖平台公用常量const ( PathSeparator = ''/'' // 操作系统指定的路径分隔符 PathListSeparator = '':'' // 操作系统指定的表分隔符 ) os包中的变量var ( ErrInvalid = errors.New("invalid argument") ErrPermission = errors.New("permission denied") ErrExist = errors.New("file already exists") Er

    发布时间:2021-09-10 09:55:27
  • Go语言中的接口

    接口是一组方法的集合,定义了实例的行为任何其他类型只要全部实现了这些方法就是实现了这个接口既然接口定义了实例的行为,那么就意味着接口必须赋值一个实例,这个实例才能使用接口中的方法每一个接口都包含两个属性,一个是值,一个是类型定义接口type interface_name interface { method_name1 [return_type] method_name2 [return_type] ... method_namen [return_type] } 以下为一个实现接口的实例type Human interface { eat(food string) string sleep() } //定义一个human接口 type People struct { name string } //定义一个结构体 func (who People) eat(food string) string { fmt.Println(m

    发布时间:2021-09-08 21:26:51
首页 上一页 下一页 尾页
共27条 当前1/3页


网址导航