当前位置: 首页 > news >正文

阿里巴巴网站怎么做网络营销推广的手段

阿里巴巴网站怎么做,网络营销推广的手段,网站建设与网页制作案例教程,微信公众平台开发商Golang学习笔记_17——方法 Golang学习笔记_18——接口 Golang学习笔记_19——Stringer 文章目录 error1. 接口2. 创建3. 自定义错误4. 处理错误5. 实现Error接口 源码 error 在Go语言中,error 是一个内建的接口类型,用于表示和处理错误情况。它是Go语言…

Golang学习笔记_17——方法
Golang学习笔记_18——接口
Golang学习笔记_19——Stringer


文章目录

    • error
      • 1. 接口
      • 2. 创建
      • 3. 自定义错误
      • 4. 处理错误
      • 5. 实现`Error`接口
    • 源码


error

在Go语言中,error 是一个内建的接口类型,用于表示和处理错误情况。它是Go语言错误处理机制的核心。下面将详细讲解Go语言中 error 的相关概念和用法。

1. 接口

error 接口非常简单,仅包含一个方法

type error interface {Error() string
}

2. 创建

import ("errors""fmt"
)func demo_1() {err := errors.New("something went wrong")if err != nil {fmt.Println("Error:", err)}
}

测试方法

func Test_demo_1(t *testing.T) {demo_1()
}

输出结果

=== RUN   Test_demo_1
Error: something went wrong
--- PASS: Test_demo_1 (0.00s)
PASS

3. 自定义错误

type MyError struct {Code    intMessage string
}func (e *MyError) Error() string {return fmt.Sprintf("code:%d \nmessage:%s", e.Code, e.Message)
}func demo_2() {err := &MyError{Code:    1,Message: "something went wrong",}fmt.Println(err)
}

测试方法

func Test_demo_2(t *testing.T) {demo_2()
}

输出结果

=== RUN   Test_demo_2
code:1 
message:something went wrong
--- PASS: Test_demo_2 (0.00s)
PASS

4. 处理错误

在自定义错误代码的基础上,实现错误处理

func demo_3(err *MyError) {if err != nil {fmt.Println("Error:", err)} else {fmt.Println("No error")}
}

测试方法

func Test_demo_3(t *testing.T) {type args struct {err *MyError}tests := []struct {name stringargs args}{{name: "error",args: args{err: &MyError{Code:    1,Message: "something went wrong",},},},{name: "no error",args: args{err: nil,},},}for _, tt := range tests {t.Run(tt.name, func(t *testing.T) {demo_3(tt.args.err)})}
}

输出结果

=== RUN   Test_demo_3
=== RUN   Test_demo_3/error
Error: code:1 
message:something went wrong
=== RUN   Test_demo_3/no_error
No error
--- PASS: Test_demo_3 (0.00s)--- PASS: Test_demo_3/error (0.00s)--- PASS: Test_demo_3/no_error (0.00s)
PASS

5. 实现Error接口

// 定义一个表示文件错误的结构体
type FileError struct {FileName stringErrMsg   string
}// 实现 error 接口的 Error() 方法
func (e *FileError) Error() string {return fmt.Sprintf("file error: %s - %s", e.FileName, e.ErrMsg)
}func demo_4() {err := &FileError{FileName: "example.txt",ErrMsg:   "failed to open file",}fmt.Println(err)
}

测试方法

func Test_demo_4(t *testing.T) {demo_4()
}

输出结果

=== RUN   Test_demo_4
file error: example.txt - failed to open file
--- PASS: Test_demo_4 (0.00s)
PASS

源码

// error_demo.go 文件
package error_demoimport ("errors""fmt"
)func demo_1() {err := errors.New("something went wrong")if err != nil {fmt.Println("Error:", err)}
}type MyError struct {Code    intMessage string
}func (e *MyError) Error() string {return fmt.Sprintf("code:%d \nmessage:%s", e.Code, e.Message)
}func demo_2() {err := &MyError{Code:    1,Message: "something went wrong",}fmt.Println(err)
}func demo_3(err *MyError) {if err != nil {fmt.Println("Error:", err)} else {fmt.Println("No error")}
}// 定义一个表示文件错误的结构体
type FileError struct {FileName stringErrMsg   string
}// 实现 error 接口的 Error() 方法
func (e *FileError) Error() string {return fmt.Sprintf("file error: %s - %s", e.FileName, e.ErrMsg)
}func demo_4() {err := &FileError{FileName: "example.txt",ErrMsg:   "failed to open file",}fmt.Println(err)
}
// error_demo_test.go 文件
package error_demoimport ("errors""testing"
)func Test_demo_1(t *testing.T) {demo_1()
}func Test_demo_2(t *testing.T) {demo_2()
}func Test_demo_3(t *testing.T) {type args struct {err *MyError}tests := []struct {name stringargs args}{{name: "error",args: args{err: &MyError{Code:    1,Message: "something went wrong",},},},{name: "no error",args: args{err: nil,},},}for _, tt := range tests {t.Run(tt.name, func(t *testing.T) {demo_3(tt.args.err)})}
}func Test_demo_4(t *testing.T) {demo_4()
}
http://www.mmbaike.com/news/83129.html

相关文章:

  • cms 做网站石家庄网站seo
  • 哪个网站可以做店招中国十大电商平台
  • 深圳有几个区哪个区最富裕武汉seo诊断
  • 企业网站建立的流程电商网站有哪些
  • wordpress安全漏洞搜索引擎优化策略
  • app开发好还是网站开发好查询网站流量的网址
  • wordpress主题修改头部搜索引擎优化排名品牌
  • 做a小视频免费观看网站企拓客软件多少钱
  • 网站做微信链接怎么做的营销型网站模板
  • 网站背景音乐怎么做汕头网站优化
  • wordpress id锁优化设计七年级下册数学答案
  • 自己网站怎么做百度推广新媒体营销推广方案
  • 网站信息批量查询工具黑科技引流推广神器
  • 湖北省工程建设信息官方网站做网站设计的公司
  • phpmysql动态网站开发发布外链的步骤
  • 网站通栏广告设计商品关键词优化的方法
  • 吉安公司做网站百度seo免费推广教程
  • 那个网站做系统好百度官网首页登录
  • 永州城乡建设网站手机如何创建网站
  • 通州网站建设服务学营销app哪个更好
  • 大学生做推送的网站武汉seo关键字推广
  • 青海网站建设哪家好二十个优化
  • 公司行政负责做网站吗seo还有未来吗
  • 广州知名网站建设网页设计服务网络营销seo优化
  • 婚纱网站设计山东免费网络推广工具
  • 网投网站建设深圳外贸推广公司
  • 网站防止挂马应该怎么做网络推广文案有哪些
  • 网站如何做seo优化教程各大搜索引擎网址
  • 威客做的比较好的网站百度竞价推广登录入口
  • 网上做的好金融网站电商运营入门基础知识