Golang 初心者 Code Reading #1

イベント内容

Golang 初心者 Code Reading

goの有名packageのsource codeをみんなで読みながら、goの理解を深めていく会です。 第一回はgo-playground/validatorを対象にします。(https://github.com/go-playground/validator/tree/v8.18.2) goの文法やstandard libraryを一通り触ったので、実践的なcodeを読んでみたい方々を対象にしています。

validatorとは

package main

import (
    "fmt"

    "gopkg.in/go-playground/validator.v8"
)

type Item struct {
    Name   string `validate:"required"`
    Number int    `validate:"gt=100"`
}

func main() {
    v := validator.New(&validator.Config{TagName: "validate"})

    items := []Item{
        {"A", 200},
        {"", 200},
        {"C", 10},
    }

    for i, _ := range items {
        if err := v.Struct(&items[i]); err != nil {
            fmt.Println(err)
        }
    }

    // Key: 'Item.Name' Error:Field validation for 'Name' failed on the 'required' tag
    // Key: 'Item.Number' Error:Field validation for 'Number' failed on the 'gt' tag
}

validatorはstructのtagにvalidateの条件を書いておくことで、validation処理を提供してくれるpackageです。goでどのようにこの機能を提供しているのかをみていきたいと思っています。

お願い

Go Community Code of Conduct に則って進めていきたいと思っています。

当日用の参照

sample code https://github.com/ymgyt/golang-code-reading-event/tree/master/events/20181114

feed back https://docs.google.com/forms/d/e/1FAIpQLSfzRXdBL3hECDBeN0QPO4_LW5iNz9QuCer3aEa44UKbMNKNyg/viewform

注意事項

※ こちらのイベント情報は、外部サイトから取得した情報を掲載しています。
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。

類似しているイベント