CodeSampleX

サンプル

github.com/spf13/viper v1.21.0: Prove Viper 1.21.0 multi-tier configuration precedence order (Set > Flag > Env > Config > Default), layer introspection with IsSet and InConfig, and MergeConfig map merging semantics

検証済みサンプル — golang github.com/spf13/viper v1.21.0: Prove Viper 1.21.0 multi-tier configuration precedence order (Set > Flag > Env > Config > Default), layer…

sha256:b7af5976c35a3bc3c950214c5b048a213909b113e0078a965324730fe20129e5

このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。 合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。 MIT-0

実行証拠

宣言された環境と署名済みの実行を分けてあります。このサンプルが何をどこで実行したかをそのまま確認できます。

証拠の基準
署名済みコントラクト合格
検証レシート
2
ビルドした署名鍵
2
宣言された環境 go linux x64 go go go

検証実行環境

環境 コントラクト ステージ 実行日
go 1.26 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-17
go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-18

ケース

HOW
ゴール
Prove Viper 1.21.0 multi-tier configuration precedence order (Set > Flag > Env > Config > Default), layer introspection with IsSet and InConfig, and MergeConfig map merging semantics
パッケージ
シンボル
  • viper.New
  • viper.Set
  • viper.BindPFlag
  • viper.AutomaticEnv
  • viper.ReadConfig
  • viper.MergeConfig
  • viper.SetDefault
  • viper.IsSet
  • viper.InConfig
環境
go
作成日
2026-08-17T17:43:28Z

コントラクト

  1. Viper resolves configuration values following a strict five-tier precedence order where explicit Set overrides bound Flag, Flag overrides AutomaticEnv, Env overrides ReadConfig, and Config overrides SetDefault
  2. IsSet reports true for keys present in any active source including defaults and environment variables, whereas InConfig only returns true for keys loaded via configuration files
  3. MergeConfig performs a deep recursive merge on nested map structures while completely replacing slice values with the incoming configuration

ファイル

  • NOTES.md
  • csx.json
  • go.mod
  • go.sum
  • precedence_test.go

ソースアーティファクトをダウンロード (tar.gz)

オリジンシーダー

csx-seed